
I haven't payed much attention to how much of type families is/should be implemented for 6.8.2. What of equality constraints? The following parses alright, but can't be used it seems. ------------------------------------ module Foo where class C a where proof :: a instance (a ~ Int) => C a where proof = 1 ------------------------------------ %> ghci -fglasgow-exts -XUndecidableInstances Foo.hs GHCi, version 6.8.2: http://www.haskell.org/ghc/ :? for help Loading package base ... linking ... done. [1 of 1] Compiling Foo ( Foo.hs, interpreted ) Ok, modules loaded: Foo. *Foo> proof :: Int : panic! (the 'impossible' happened) (GHC version 6.8.2 for i386-unknown-mingw32): nameModule $dC{v aoz} Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug ------------------------------------ I would follow that last advice if I knew this was *supposed* to work. :-) Cheers, /Niklas

Niklas Broberg:
I haven't payed much attention to how much of type families is/should be implemented for 6.8.2. What of equality constraints? The following parses alright, but can't be used it seems.
------------------------------------ module Foo where
class C a where proof :: a
instance (a ~ Int) => C a where proof = 1 ------------------------------------
%> ghci -fglasgow-exts -XUndecidableInstances Foo.hs GHCi, version 6.8.2: http://www.haskell.org/ghc/ :? for help Loading package base ... linking ... done. [1 of 1] Compiling Foo ( Foo.hs, interpreted ) Ok, modules loaded: Foo. *Foo> proof :: Int : panic! (the 'impossible' happened) (GHC version 6.8.2 for i386-unknown-mingw32): nameModule $dC{v aoz}
Please report this as a GHC bug: http://www.haskell.org/ghc/ reportabug
------------------------------------ I would follow that last advice if I knew this was *supposed* to work. :-)
It is supposed to work in 6.9. I am sorry, but type families are not an officially supported feature in 6.8.x, and hence, any bug fixes that requires invasive changes in the type checker will not be merged into the 6.8 branch (and by now the 6.8 and 6.9 code bases diverged quite a bit). This is simply to ensure the stability of the stable branch. Type families will be properly supported in 6.10. Manuel

It is supposed to work in 6.9. I am sorry, but type families are not an officially supported feature in 6.8.x, and hence, any bug fixes that requires invasive changes in the type checker will not be merged into the 6.8 branch (and by now the 6.8 and 6.9 code bases diverged quite a bit). This is simply to ensure the stability of the stable branch. Type families will be properly supported in 6.10.
Oh, no worries, I'm in no hurry. I just wanted to know if this was something you were helped by knowing, but I suspected it was just as you say here. So I won't bother about a bug report, and will eagerly await 6.10. :-) /Niklas
participants (2)
-
Manuel M T Chakravarty
-
Niklas Broberg