(define even (fun ([x Int] [-> Bool]) (if (= x 0) true (if (= x 1) false (odd (- x 1)))))) (define odd (fun ([x Int] [-> Bool]) (if (= x 0) false (if (= x 1) true (even (- x 1)))))) (even 10) -- true (even 11) -- false (odd 10) -- false (odd 11) -- true (define fact (fun ([x Int] [-> Int]) (if (= x 0) 1 (* x (fact (- x 1)))))) (fact 5) -- 120
(define fact (fun ([x Int] [-> Int]) (if (= x 0) 1 (* x (fact (- x 1)))))) (fact 5) -- 120 (define odd (fun ([x Int] [-> Float]) (if (= x 0) false (if (= x 1) (even (- x 1)) true)))) (define even (fun ([x Int] [-> Bool]) (if (= x 0) true (if (= x 1) false (odd (- x 1)))))) (even 10) -- true (even 11) -- false (odd 11) -- true