[Haskell-cafe] Simple type-class experiment turns out not so simple...

Brandon Allbery allbery.b at gmail.com
Sun Jan 8 22:13:07 CET 2012

On Sun, Jan 8, 2012 at 15:55, Christoph Breitkopf <
chbreitkopf at googlemail.com> wrote:

> On Sun, Jan 8, 2012 at 9:25 PM, Brent Yorgey <byorgey at 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 at gmail.com
wandering unix systems administrator (available)     (412) 475-9364 vm/sms
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120108/dce9319c/attachment.htm>

More information about the Haskell-Cafe mailing list