| Recursion and Higher-order Functions - slide 34 : 35 |
It is possible to generate curried functions in Scheme.
But the parenthesis notation of Lisp does not fit very well with the idea of currying.
(define (curry2 f)
(lambda(x)
(lambda(y)
(f x y))))
(define (curry3 f)
(lambda(x)
(lambda(y)
(lambda(z)
(f x y z)))))
(define (uncurry2 f)
(lambda (x y)
((f x) y)))
(define (uncurry3 f)
(lambda (x y z)
(((f x) y) z))) Playing with curried functions in Scheme |







