Description
An alternative to lazy I/O that doesn't conflate execution with evaluation.
Description
Lazy I/O conflates evaluation with execution; a value obtained from unsafeInterleaveIO
can perform side-effects during the evaluation of pure code. Like lazy I/O, a Sink
provides a way to obtain the value of the result of an IO
action before the action has been executed, but unlike lazy I/O, it does not enable pure code to perform side-effects. Instead, the value is explicitly assigned by a later IO
action.