
21 Dec
2007
21 Dec
'07
2:38 p.m.
David Menendez wrote:
That's a reasonable thing to assume. It just happens that Haskell doesn't work that way. There's an asymmetry between constructing and pattern-matching, and it's one that many people have complained about.
With GADTs turned on (-XGADTS in 6.8, -fglasgow-exts in 6.6) pattern matchings will give rise to class contexts as you would naively expect. Contexts on constructors aren't actualy haskell98, it is a bug that GHC 6.6 accepts them without any extensions being activated. Or that's my understanding, see http://hackage.haskell.org/trac/ghc/ticket/1901 Jules