On Tue, Jun 8, 2010 at 20:13, Nick Sabalausky <a...@a.a> 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