Finished generic concat, so let-rec properly works now

This commit is contained in:
Nathan Braswell
2020-10-18 20:18:38 -04:00
parent f9529b02aa
commit 168589c364
2 changed files with 68 additions and 8 deletions

51
even_odd.kp Normal file
View File

@@ -0,0 +1,51 @@
(do
(println "Double")
(let-rec (
even (lambda (n) (cond (= 0 n) true
(= 1 n) false
true (odd (- n 1))))
odd (lambda (n) (cond (= 0 n) false
(= 1 n) true
true (even (- n 1))))
)
(do
(println (even 7))
(println (even 8))
(println (odd 7))
(println (odd 8))
)
)
(println "Triple")
(let-rec (
first (lambda (n) (cond (= 0 n) true
(= 1 n) false
(= 2 n) false
true (third (- n 1))))
second (lambda (n) (cond (= 0 n) false
(= 1 n) true
(= 2 n) false
true (first (- n 1))))
third (lambda (n) (cond (= 0 n) false
(= 1 n) false
(= 2 n) true
true (second (- n 1))))
)
(do
(println)
(println (first 7))
(println (first 8))
(println (first 9))
(println)
(println (second 7))
(println (second 8))
(println (second 9))
(println)
(println (third 7))
(println (third 8))
(println (third 9))
)
)
)