Lambda Discipline

Examples

Mutual recursion

tests/golden/programs/mutual_recursion.lbd

isEven : Number -> Bool = \n. (if (eq n 0) true (isOdd (sub n 1)))
isOdd : Number -> Bool = \n. (if (eq n 0) false (isEven (sub n 1)))

(println (isEven 4))
(println (isEven 5))
(println (isOdd 4))
(println (isOdd 5))

Output

true
false
false
true

Run it yourself from the repository root: lbd run tests/golden/programs/mutual_recursion.lbd