Note: this wiki is now retired and will no longer be updated!
The static final versions of the pages are left as a convenience for readers. Note that meta-pages such as "discussion," "history," etc., will not work.
SICP exercise 1.42
Let f and g be two one-argument functions. The composition f after g is defined to be the function . Define a procedure compose that implements composition. For example, if inc is a procedure that adds 1 to its argument,
((compose square inc) 6)
evaluates to 49.
The solution is straightforward. It looks very much like its mathematical analogue:
(define (compose f g) (lambda (x) (f (g x))))
(define (square x) (* x x)) (define (inc x) (+ x 1)) ((compose square inc) 6)