File tree Expand file tree Collapse file tree 3 files changed +11
-10
lines changed Expand file tree Collapse file tree 3 files changed +11
-10
lines changed Original file line number Diff line number Diff line change 77 (add1 n)
88 (if (zero? n)
99 (ackermann (sub1 m) one)
10- (ackermann (sub1 m) (ackermann m n)))))
10+ (ackermann (sub1 m) (ackermann m (sub1 n))))))
11+
12+ ; ; TODO fail:
13+
14+ ; ; ackermann
1115
1216(define ackermann-wrap
1317 (lambda (ackermann)
1620 (add1 n)
1721 (if (zero? n)
1822 (ackermann (sub1 m) one)
19- (ackermann (sub1 m) (ackermann m n )))))))
23+ (ackermann (sub1 m) (ackermann m (sub1 n) )))))))
2024
2125(assert-equal ackermann ackermann)
2226(assert-equal ackermann (ackermann-wrap ackermann))
Original file line number Diff line number Diff line change 1- (import zero one two three " nat-church.lisp" )
1+ (import zero one two three four five " nat-church.lisp" )
22(import ackermann ackermann-wrap " ackermann.lisp" )
33
44(assert-equal (ackermann zero zero) one)
55(assert-equal (ackermann one zero) two)
66(assert-equal (ackermann zero one) two)
7+ (assert-equal (ackermann one one) three)
8+ (assert-equal (ackermann one two) four)
9+ (assert-equal (ackermann two one) five)
710
811ackermann-wrap
912
1013; ; TODO fail:
1114
1215; ; ackermann
1316; ; (ackermann-wrap ackermann)
14-
15- ; ; TODO fail:
16-
17- ; ; (ackermann one one)
18- ; ; (ackermann one two)
19- ; ; (ackermann two one)
Original file line number Diff line number Diff line change 1- (lambda (ackermann m n) (m (lambda (t f) t) (lambda (x t f) f) (lambda (base step) (step (n base step))) (n (lambda (t f) t) (lambda (x t f) f) (ackermann (m (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)) (lambda (base step) (step base))) (ackermann (m (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)) (ackermann m n )))))
1+ (lambda (ackermann m n) (m (lambda (t f) t) (lambda (x t f) f) (lambda (base step) (step (n base step))) (n (lambda (t f) t) (lambda (x t f) f) (ackermann (m (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)) (lambda (base step) (step base))) (ackermann (m (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)) (ackermann m (n (lambda (f) (f (lambda (base step) base) (lambda (base step) base))) (lambda (x f) (f (x (lambda (car cdr) cdr)) (lambda (base step) (step (x (lambda (car cdr) cdr) base step))))) (lambda (car cdr) car)) )))))
You can’t perform that action at this time.
0 commit comments