DDC compiler and effects; better than Haskell? (was Re:
[Haskell-cafe] unsafeDestructiveAssign?)
Jason Dusek
jason.dusek at gmail.com
Sat Aug 15 08:36:54 EDT 2009
2009/08/14 John A. De Goes <john at n-brain.net>:
> 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.
I think this is a bad example -- it's not something that's
safe in general and discredits your idea. How would the
compiler even know that two files are not actually the same
file?
However, the idea that a programmer can specify safely
commuting effects is worthwhile. One could operate in a
"different files are different" IO monad where the compiler
assumes that reads on files with different names are
commutable.
> 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.
Well, yes -- which sounds like, there are no guarantees
in general. Something that works half the time leaves you with
two responsibilities -- the old responsibility of the work you
did when you didn't have it and the new responsibility of
knowing when it applies and when it doesn't.
--
Jason Dusek
More information about the Haskell-Cafe
mailing list