On Sun, Jan 8, 2012 at 15:55, Christoph Breitkopf <chbreitkopf@googlemail.com> wrote:
On Sun, Jan 8, 2012 at 9:25 PM, Brent Yorgey <byorgey@seas.upenn.edu> wrote:
On Fri, Jan 06, 2012 at 10:51:58AM +0000, Steve Horne wrote:
> If I specify both extensions (-XMultiParamTypeClasses and
> -XFlexibleInstances) it seems to work, but needing two language
> extensions is a pretty strong hint that I'm doing it the wrong way.

Not necessarily.  These two extensions in particular (and especially
the second) are quite uncontroversial.

http://hackage.haskell.org/trac/haskell-prime/wiki/MultiParamTypeClassesDilemma

does not sound "uncontroversial" to me. That's why I avoided them so far.

MPTCs are not controversial.  They're also of limited (but extant) usefulness without an additional extension; and, while there is "controversy" there, it's not especially relevant until type families are stabilized.  They could in theory go into the standard *now*; they'd just be of limited use until functional dependencies vs. type families is settled.  (Also, de facto I think it's already more or less been decided in favor of type families, just because functional dependencies are (a) a bit alien [being a glob of Prolog-style logic language imported into the middle of System Fc] and (b) [as I understand it] difficult to verify that the code in the compiler is handling all the potential corner cases right [mainly because of (a)].

In any case, if the code in question doesn't happen to need either functional dependencies or type classes, the controversy doesn't touch it.

--
brandon s allbery                                      allbery.b@gmail.com
wandering unix systems administrator (available)     (412) 475-9364 vm/sms