<div dir="ltr">On Sun, Jan 8, 2012 at 15:55, Christoph Breitkopf <span dir="ltr">&lt;<a href="mailto:chbreitkopf@googlemail.com">chbreitkopf@googlemail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_quote"><div class="im">On Sun, Jan 8, 2012 at 9:25 PM, Brent Yorgey <span dir="ltr">&lt;<a href="mailto:byorgey@seas.upenn.edu" target="_blank">byorgey@seas.upenn.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>On Fri, Jan 06, 2012 at 10:51:58AM +0000, Steve Horne wrote:<br>&gt; If I specify both extensions (-XMultiParamTypeClasses and<br>
&gt; -XFlexibleInstances) it seems to work, but needing two language<br>
&gt; extensions is a pretty strong hint that I&#39;m doing it the wrong way.<br>
<br>
</div>Not necessarily.  These two extensions in particular (and especially<br>
the second) are quite uncontroversial.<br></blockquote><div><br></div></div><div><a href="http://hackage.haskell.org/trac/haskell-prime/wiki/MultiParamTypeClassesDilemma" target="_blank">http://hackage.haskell.org/trac/haskell-prime/wiki/MultiParamTypeClassesDilemma</a></div>

<div><br></div><div>does not sound &quot;uncontroversial&quot; to me. That&#39;s why I avoided them so far.</div></div></blockquote><div><br></div><div>MPTCs are not controversial.  They&#39;re also of limited (but extant) usefulness without an additional extension; and, while there is &quot;controversy&quot; there, it&#39;s not especially relevant until type families are stabilized.  They could in theory go into the standard *now*; they&#39;d just be of limited use until functional dependencies vs. type families is settled.  (Also, de facto I think it&#39;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)].</div>
<div><br></div><div>In any case, if the code in question doesn&#39;t happen to need either functional dependencies or type classes, the controversy doesn&#39;t touch it.</div></div><div><br></div>-- <br>brandon s allbery                                      <a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a><br>
wandering unix systems administrator (available)     (412) 475-9364 vm/sms<br><br>
</div>