On Mon, Aug 15, 2011 at 12:36 PM, Simon Peyton-Jones <simo...@microsoft.com> wrote: > (Adding GHC users, and changing title.) > > | Conor McBride wrote: > | > http://hackage.haskell.org/trac/ghc/wiki/DefaultSuperclassInstances > | > I don't know if it's likely to be implemented in GHC anytime soon,.. > | > So things are looking up. It should soon be technically feasible to > | > separate the issues of whether the Monoid operator should be (<>) and > | > whether it should actually live in a Semigroup superclass... > | > | Nice. But will it be happening soon, or not? And how soon is > | soon? > > Not soon enough to be useful for this mappend question. > > But, concerning proposed extensions to GHC about class aliases/superclass > defaults etc, the truth is that the biggest reason for inertia here at GHC HQ > is not so much the implementation effort (athough that is always an issue). > Rather, it's uncertainty about > > (a) Is there a reasonably large group of users who really want such a change? > Or is it just "nice to have"? > > (b) What is the "right" design?
My only input is that we have at least 2-3 (depending on whether the latter two are to be considered separate) hierarchies in want of refactoring: Functor/Applicative/Monad, Num and friends, and Monoid. Ideally any solution would "solve the problem" for all of them, but even if it doesn't (and only solves, say, Monad's case), I think it should be a requirement that it at least allows for the others to be solved as well in an incremental fashion afterwards (whether by 'upgrading' the by-then existing feature, or adding a new, orthogonal one). The undesirable scenario would be where you would have to "change the world" all over again a second time to resolve the remaining problems. This is just in the abstract; my brain is too under-resourced to figure out where the proposed feature stands in relation to this. (On its own terms, I like it.) > > (c) Does it pay its way? (ie do the programming benefits justify the cost in > terms of > both language complexity and ongoing maintenance burden of one more > feature > to bear in mind when changing anything) > > With help from Conor we have made some progress on this: we have a draft > design: > http://hackage.haskell.org/trac/ghc/wiki/DefaultSuperclassInstances > > If you care about the issue, maybe you can help resolve the above questions. > In particular, to give > concrete evidence for (b), working out some case studies would be a Good > Thing. The examples given in other proposals using the extension proposed > here would be one starting point. > > If someone felt able to act as moderator for the discussion, willing to > summarise conclusions, open questions, and so on, on the wiki page, that > would be enormously helpful. I am in too many inner loops. But I *am* > willing to contemplate such an extension -- it has the same flavour as > default methods themselves, which are a very useful part of H98. > > Simon > > _______________________________________________ > Libraries mailing list > librar...@haskell.org > http://www.haskell.org/mailman/listinfo/libraries > -- Work is punishment for failing to procrastinate effectively. _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users