78 lines
1.8 KiB
Plaintext
78 lines
1.8 KiB
Plaintext
(program
|
|
1.0.0
|
|
[
|
|
(lam
|
|
i0
|
|
[
|
|
[
|
|
(force
|
|
(force
|
|
(delay
|
|
(delay
|
|
(lam
|
|
f
|
|
[
|
|
(force (delay (lam s [ s s ])))
|
|
(lam
|
|
s
|
|
(lam
|
|
x [ [ f [ (force (delay (lam s [ s s ]))) s ] ] x ]
|
|
)
|
|
)
|
|
]
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(lam
|
|
rec
|
|
(lam
|
|
i
|
|
[
|
|
[
|
|
[
|
|
(force
|
|
(delay
|
|
(lam
|
|
b
|
|
(lam
|
|
x
|
|
(lam
|
|
y
|
|
[
|
|
[ [ [ (force (builtin ifThenElse)) b ] x ] y ]
|
|
(con unit ())
|
|
]
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
[ [ (builtin lessThanEqualsInteger) i ] (con integer 1) ]
|
|
]
|
|
(lam u i)
|
|
]
|
|
(lam
|
|
u
|
|
[
|
|
[
|
|
(builtin addInteger)
|
|
[
|
|
rec [ [ (builtin subtractInteger) i ] (con integer 1) ]
|
|
]
|
|
]
|
|
[ rec [ [ (builtin subtractInteger) i ] (con integer 2) ] ]
|
|
]
|
|
)
|
|
]
|
|
)
|
|
)
|
|
]
|
|
i0
|
|
]
|
|
)
|
|
(con integer 0)
|
|
]
|
|
)
|