DDC compiler and effects; better than Haskell? (was Re: [Haskell-cafe] unsafeDestructiveAssign?)

Dan Doel 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.

-- Dan


More information about the Haskell-Cafe mailing list