[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!

Dan




More information about the Haskell-Cafe mailing list