diff options
Diffstat (limited to 'SICP/ex2-4.scm')
| -rw-r--r-- | SICP/ex2-4.scm | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/SICP/ex2-4.scm b/SICP/ex2-4.scm index 9078d99..3ad6d15 100644 --- a/SICP/ex2-4.scm +++ b/SICP/ex2-4.scm @@ -49,9 +49,17 @@ ;Exercise 2.6 (define zero (lambda (f) (lambda (x) x))) + (define (add-1 n) (lambda (f) (lambda (x) (f ((n f) x))))) +;; (add-1 zero) +;; (lambda (f) (lambda (x) (f ((zero f) x)))) +;; (lambda (f) (lambda (x) (f (f x)))) +(define (add a b) + (lambda (f) + (lambda (x) + ((a f) ((b f) x))))) (define one (lambda(f) (lambda (x) (f x)))) (define two (lambda(f) (lambda (x) (f (f x))))) (define three (lambda(f) (lambda (x) (f (f (f x)))))) @@ -74,3 +82,5 @@ ((three square) 2) (((add two one) square) 2) + + |
