Specifically, given a function f: AxB --> D, produce a functor f: A --> {f: B --> D} with the mapping (f(a))(b) = f(a,b). I think it's named after someone. I'm pretty sure you can do it in Lisp. What's it called, and can you do it in C++, using function pointers or suchlike?