DDC compiler and effects;
better than Haskell? (was Re: [Haskell-cafe] unsafeDestructiveAssign?)
John A. De Goes
john at n-brain.net
Wed Aug 12 23:50:58 EDT 2009
Fair enough, but keep in mind an effect system does more than just
eliminate boilerplate: it provides richer information on the precise
nature of the interaction of a function with the real world. With the
right insight, you can reorder and parallelize all kinds of effectful
computations. Something that "dumb" monads can't provide.
I haven't played with DDC, but I do believe some new FPL with a
powerful effect system is going to take off in the next 5 years.
Regards,
John A. De Goes
N-Brain, Inc.
The Evolution of Collaboration
http://www.n-brain.net | 877-376-2724 x 101
On Aug 12, 2009, at 8:13 PM, Dan Doel wrote:
> On Wednesday 12 August 2009 9:27:30 pm John A. De Goes wrote:
>> So what, because effect systems might not eliminate *all*
>> boilerplate,
>> you'd rather use boilerplate 100% of the time? :-)
>
> For most of my Haskell programs, the majority of the program is not
> made up of
> straight IO or ST functions, so how much boilerplate is it really
> eliminating?
> And since all the fooM functions have to exist for all the other
> monads, how
> much more boilerplate is it really to use them for IO and ST as well?
>
> Off hand, I'd say I don't write foo and fooM versions of functions
> much in
> actual programs, either. Such duplication goes into libraries, and
> that would
> be the case for Disciple as well (until there's a way to extend the
> effect
> system outside the compiler).
>
> So it's more of "effect systems eliminate 2% of my boilerplate; who
> (currently) cares? And is it worth having situations like 'you use
> monads for
> these effects, and the effect system for these other effects' in the
> language
> to do so?"
>
> But, as I said, it's not that I don't think it's a fruitful area of
> research,
> I just don't think it's going to yield significantly nicer code than
> Haskell
> _yet_.
>
> -- Dan
More information about the Haskell-Cafe
mailing list