<div class="gmail_quote"><br></div><div class="gmail_quote"><br></div><div class="gmail_quote">On Tue, Jun 8, 2010 at 20:13, Nick Sabalausky <span dir="ltr">&lt;a@a.a&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><br></div>Template currying ;) Maybe not as flexible as typical currying, but still.<br></blockquote><div><br></div><div>I recenly achieved getting partially there. At least, given</div><div><br></div><div>
foo(A,B,C)(n args list) {...}</div><div><br></div><div>curry!foo will correctly create n 1-arg templated function inside one another and deliver the result at the end.</div><div>But it does not verify the compatibility of arguments while filling the arguments :(</div>
<div><br></div><div>Given </div><div><br></div><div>foo(A,B,C)(A a, Tuple!(B,A) b, C[A] c) </div><div><br></div><div>curry!foo will accept any A a, but then should only accept b&#39;s of the correct type: Tuple!(B,A), for some B and the already defined A, and the same for c. I&#39;m making sense there?</div>
<div><br></div><div>I more or less see how to get there, but can&#39;t get motivated to do this :-)</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Also, what&#39;s Unqual?<br></blockquote><div><br></div><div>Gets rid of any const/immutable qualifiers.</div><div><br></div><div>Philipe </div></div><br>