curry 코드

CL-USER> (defun curry (fn &rest args)
           #'(lambda (&rest args2)
               (apply fn (append args2 args))))
CURRY
CL-USER> (funcall (curry #'+ 3) 5)
8

뭐 compose와 disjoin을 이해했다면 curry 따위쯤은 언급할 가치도 없겠다. 그나저나 대체 lexical closure 없이 어떻게 지금까지 프로그래밍을 했던건가-_-..

트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://www.xeraph.com/tb/1228847 [도움말]

덧글

댓글 입력 영역