aboutsummaryrefslogtreecommitdiff
path: root/SICP/ex2-4.scm
diff options
context:
space:
mode:
Diffstat (limited to 'SICP/ex2-4.scm')
-rw-r--r--SICP/ex2-4.scm10
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)
+
+