SICP exercise 1.42
From Drewiki
Problem
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.
Solution
The solution is straightforward. It looks very much like its mathematical analogue:
(define (compose f g) (lambda (x) (f (g x))))
Let's test:
(define (square x) (* x x)) (define (inc x) (+ x 1)) ((compose square inc) 6)
Output:
49

