Currying: Difference between revisions
Content added Content deleted
(→{{header|Perl 6}}: tagged as incorrect) |
(Added Common Lisp example) |
||
Line 33: | Line 33: | ||
=={{header|C++}}== |
=={{header|C++}}== |
||
Currying may be achieved in [[C++]] using the [[wp:Standard Template Library|Standard Template Library]] function object adapters (<code>binder1st</code> and <code>binder2nd</code>), and more generically using the [[wp:Boost library|Boost]] <code>bind</code> mechanism. |
Currying may be achieved in [[C++]] using the [[wp:Standard Template Library|Standard Template Library]] function object adapters (<code>binder1st</code> and <code>binder2nd</code>), and more generically using the [[wp:Boost library|Boost]] <code>bind</code> mechanism. |
||
=={{header|Common Lisp}}== |
|||
<lang lisp>(defun curry (function &rest args-1) |
|||
(lambda (&rest args-2) |
|||
(apply function (append args-1 args-2)))) |
|||
</lang> |
|||
Usage: |
|||
<lang lisp> |
|||
* (funcall (curry #'+ 10) 10) |
|||
20 |
|||
</lang> |
|||
=={{header|D}}== |
=={{header|D}}== |