DDC compiler and effects;
better than Haskell? (was Re: [Haskell-cafe] unsafeDestructiveAssign?)
dan.doel at gmail.com
Wed Aug 12 17:28:41 EDT 2009
On Wednesday 12 August 2009 10:12:14 am John A. De Goes wrote:
> I think the point is that a functional language with a built-
> in effect system that captures the nature of effects is pretty damn
> cool and eliminates a lot of boilerplate.
It's definitely an interesting direction (possibly even the right one in the
long run), but it's not without its faults currently (unless things have
changed since I looked at it).
For instance: what effects does disciple support? Mutation and IO? What if I
want non-determinism, or continuations, etc.? How do I as a user add those
effects to the effect system, and specify how they should interact with the
other effects? As far as I know, there aren't yet any provisions for this, so
presumably you'll end up with effect system for effects supported by the
compiler, and monads for effects you're writing yourself.
By contrast, monad transformers (for one) let you do the above defining of new
effects, and specifying how they interact (although they're certainly neither
perfect, nor completely satisfying theoretically).
Someone will probably eventually create (or already has, and I don't know
about it) an extensible effect system that would put this objection to rest.
Until then, you're dealing in trade offs.
More information about the Haskell-Cafe