(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)) ) ) )