
On Wed, Oct 29, 2008 at 8:01 AM, David Roundy
On Wed, Oct 29, 2008 at 11:17:35AM -0000, Mitchell, Neil wrote:
Duncan,
I believe the major darcs issue is the changed GADT implementation between 6.6, so that neither 6.6 or 6.8 is a superset/subset of the other - leading to a situation where they have to use a common subset of both.
No, the 6.6 gadts are nicer than the 6.8 gadts, but the common subset is pretty large.
The 6.6 gadts had broken type checking though as Simon Peyton-Jones has pointed out before. There is even a paper on why and what had to be done to fix the problem. See here for more details: http://research.microsoft.com/~simonpj/papers/gadt/index.htm I do agree that the polymorphic nature of let/where makes it harder to use GADTs now that the type checker has been fixed but without introducing new syntax just for GADTs (which isn't a bad idea) I'm not sure what else can be done. Jason