fun pair x y = fn z => z x y;
fun run z =
let val x1 = fn y => pair y y in
let val x2 = fn y => x1(x1(y)) in
let val x3 = fn y => x2(x2(y)) in
let val x4 = fn y => x3(x3(y)) in
x4(z)
end
end
end
end
annah$ mlton -show-basis true test.sml | wc -l
327
Scary!
I also read the paper on contification. Very clever optimization I must
say.
--
j.