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

Jason Dagit dagit at codersbase.com
Fri Aug 14 17:38:19 EDT 2009

On Fri, Aug 14, 2009 at 1:41 PM, John A. De Goes <john at n-brain.net> wrote:

> Hmmm, my point (perhaps I wasn't clear), is that different effects have
> different commutability properties. In the case of a file system, you can
> commute two sequential reads from two different files. This has no effect on
> the result of the computation, assuming no interference from other programs
> -- and if there _is_ interference from other programs, then guarantees go
> out the window, _with or without_ commuting.
> Monads are an insufficient structure to capture the fine semantics of
> effects. Something more powerful is needed. And in general, the way effects
> combine and commute is quite complicated and needs to be baked into the
> effect system, rather than being the responsibility of a lowly developer.

It's really interesting.  This is related to the reasoning darcs does with
patches (aka patch theory).  Patches tend to have effects on your
repository.  Sometimes those effects can be reordered without changing the
final state of the repository.  Other times, it is not possible to reorder
them without either having a non-sensible final state or different final
states.  I've never thought about reading research about effect systems for
the sake of version control.  I'll have to look into this.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090814/662ef624/attachment.html

More information about the Haskell-Cafe mailing list