On Tue, Jun 8, 2010 at 20:13, Nick Sabalausky <[email protected]> wrote:
>
> Template currying ;) Maybe not as flexible as typical currying, but still.
>
I recenly achieved getting partially there. At least, given
foo(A,B,C)(n args list) {...}
curry!foo will correctly create n 1-arg templated function inside one
another and deliver the result at the end.
But it does not verify the compatibility of arguments while filling the
arguments :(
Given
foo(A,B,C)(A a, Tuple!(B,A) b, C[A] c)
curry!foo will accept any A a, but then should only accept b's of the
correct type: Tuple!(B,A), for some B and the already defined A, and the
same for c. I'm making sense there?
I more or less see how to get there, but can't get motivated to do this :-)
> Also, what's Unqual?
>
Gets rid of any const/immutable qualifiers.
Philipe