
Hello Magesh,
The bug is in 7.8.3, which should never have allowed your `Test1`. Haskell type families may not be partially applied -- the type system and type inference just don't know how to handle such things. In 7.8.3, the check was accidentally turned off, as discussed in #9433, as you found. 7.8.3 allows you to do a few limited things with partially applied families, but you'll get very strange errors if you continue down that road, as GHC quickly gets horribly confused.
I'm afraid you'll have to find a different way to express what you want.
Richard
On Jan 13, 2015, at 9:49 AM, magesh b
Hi,
{-# LANGUAGE TypeFamilies, ConstraintKinds #-}
import GHC.Exts
type family TyFun a
data DictC (c :: * -> Constraint)
data DictTF (tf :: * -> *)
type Test1 = DictTF TyFun -- Fails here in 7.8.4
type Test2 = DictC Show
When I compile the above code, I'm getting the following error in 7.8.4 and the same code works in 7.8.3.
Test.hs:11:1: Type synonym ‘TyFun’ should have 1 argument, but has been given none In the type declaration for ‘Test1’
Is this a bug or a expected behavior? For reference, I could find two fixes to type family related bug in this release. https://ghc.haskell.org/trac/ghc/ticket/9433 https://ghc.haskell.org/trac/ghc/ticket/9316
Thanks & Regards, Magesh B
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs