MPTCs and functional dependencies
ijones at syntaxpolice.org
Fri Feb 3 13:13:46 EST 2006
Henrik Nilsson <nhn at Cs.Nott.AC.UK> writes:
> Dear all,
> John Mecham wrote:
>> Yeah, I have been coming to the same conclusion myself. it pains me a
>> lot. (monad transformers! I need thee!) but its not like fundeps will
>> go away, they will just still be experimental so it isn't the end of
>> the world.
> But isn't the whole point of Haskell' to standardise those features
> that are agreed to be necessary for writing real-world
> applications and libraries in a reasonable way?
> My concern is not that I fear not being able to compile my programs
> after Haskell' is done. I'm worried about too much code not being
> Haskell' compliant in the end, and, worse, too many people deciding
> that they still have to rely on extensions beyond Haskell' for writing
> "real" applications and libraries.
I am very concerned about this as well. In most of my production
code, I avoid extensions, but MPTC and functional dependencies are two
that I have not been able to avoid. Any time I use the class system,
I use MPTC, anytime I use MPTC, I use fundeps.
The trouble with "blessing" fundeps is that they might not pan out in
the end, and it would be a shame to add them to Haskell' and then
remove them again for Haskell'' (if there were such a thing) in favor
of associated types, for instance.
How do we solve this dilemma? Some proposals that have come up:
- Simon has proposed that we examine a limited version of functional
- Another option, though a scary one at this point, is to look
closely at associated types.
- Another option is to punt; we declare them as an extension and
figure out a way to "bless" extensions (beyond Cabal, I guess).
- Any others?
Can someone put together a wiki page these choices with trade-offs?
More information about the Haskell-prime