--
-- Booleans in pure lambda calculus (normal order)
--

let lambdaTrue = \x -> \y -> x

let lambdaFalse = \x -> \y -> y

let lambdaIf = \b -> \t -> \e -> b t e

-- e.g.:

lambdaIf lambdaTrue 4 5
lambdaIf lambdaFalse 4 5

-- exercise: why is normal order an important assumption?
