; Warmup example 1 (define curry2 (lambda (f) (lambda (x) (lambda (y) (f x y))))) (((curry2 (lambda (x y) (+ x (* 3 y)))) 4) 5) ; Warmup example 2 (letrec ([map (lambda (proc ls) (if (null? ls) '() (cons (proc (car ls)) (map proc (cdr ls)))))]) (let ([proc (lambda (y) (+ 3 y))] [ls '(5 6)]) (map proc ls))) ; Warmup example 3 (let* ([curry2 (lambda (f) (lambda (x) (lambda (y) (f x y))))] [f (lambda (x y) (+ x (* 3 y)))]) (((curry2 f) 4) 5))