Lazy evaluationΒΆ

Shen provides on-demand type secure lazy evaluation; the function freeze freezes a computation returning a lazy object which can be evaluated at will by the function thaw.

(2-) (freeze (factorial 8))
#<FUNCTION :LAMBDA NIL (factorial 8)>

(3-) (thaw (freeze (factorial 8)))
40320

Detailed Reference