[Haskell-cafe] Why?

Dan Weston westondan at imageworks.com
Fri Dec 11 20:49:14 EST 2009

Luke Palmer wrote:
> The idea being that any code that is pure could be evaluated anywhere
> with a very simple interpreter.  If you have pure code, you can trace
> it back and evaluate it in a sandbox where you don't need a C runtime,
> a linker, or really anything but the simplest substitution engine.
> *All* effects bubble their way up to the top level, so that we know
> from the type signature of a value the machinery we will need to run

The alternative is not much better: syntactic sugar (say a "wrapping" 
keyword similar to "deriving") that wraps up a pure type in a State, ST, 
or IO. The inevitable result is that *every* type from the lazy 
programmer will be so wrapped. Many programmers overdo the IO monad as 
it is. With suitable sugar, they will become addicted!


More information about the Haskell-Cafe mailing list