[Haskell] line-based interactive program
Andrew Pimlott
andrew at pimlott.net
Fri Jul 8 12:43:02 EDT 2005
On Fri, Jul 08, 2005 at 02:51:11PM +0100, Colin Runciman wrote:
> >>My interaction depends on the (subtle order of) evaluation of a pure and
> >>total function?
> >>
> Pure, yes; total, no.
>
> Many important things depend on order of evaluation in lazy programs:
> for example, whether they compute a well-defined value at all! The
> interleaving of demand in the argument of a function with computational
> progress in its result seems a perfectly natural view of interaction in
> a lazy functional language. This sort of interaction is what actually
> happens when your function applications are evaluated whether you
> exploit it or not. I embrace it as part of lazy functional programming;
> you prefer an appeal to something extraneous.
It is one thing to embrace lazy evaluation order, and another to embrace
lazy IO (implemented using unsafeInterleaveIO). As a relative newcomer
to Haskell, I got the impression that the "interact" style was always a
hack, discarded for good reason in favor of the IO monad. Is there a
strong case for interact?
Andrew
More information about the Haskell
mailing list