20 lines
320 B
Plaintext
20 lines
320 B
Plaintext
true x y := x
|
|
false x y := y
|
|
|
|
pair a b := \c.(c a b)
|
|
left p := (p true)
|
|
false p := (p false)
|
|
|
|
zero 0 1 x := x
|
|
print n := (n 0 1 end)
|
|
|
|
inc n := \0 1 x.{
|
|
initial := (pair true x)
|
|
onZero p := (pair false ((left p 1 0) (right p)))
|
|
onOne p := (pair (left p) (1 (right p)))
|
|
|
|
(n onZero onOne initial)
|
|
}
|
|
|
|
(print zero)
|