13 lines
435 B
Common Lisp
13 lines
435 B
Common Lisp
> (define (compose f g) (expand (lambda (x) (f (g x))) 'f 'g))
|
|
(lambda (f g) (expand (lambda (x) (f (g x))) 'f 'g))
|
|
> (define (cube x) (pow x 3))
|
|
(lambda (x) (pow x 3))
|
|
> (define (cube-root x) (pow x (div 1 3)))
|
|
(lambda (x) (pow x (div 1 3)))
|
|
> (define functions '(sin cos cube))
|
|
(sin cos cube)
|
|
> (define inverses '(asin acos cube-root))
|
|
(asin acos cube-root)
|
|
> (map (fn (f g) ((compose f g) 0.5)) functions inverses)
|
|
(0.5 0.5 0.5)
|