[Haskell-cafe] Type synonym application
Bulat Ziganshin
bulat.ziganshin at gmail.com
Sun Mar 18 13:55:45 EDT 2007
Hello C,
Sunday, March 18, 2007, 8:47:21 PM, you wrote:
> Type synonyms aren't applied as I would expect during kind checking. What's
> going on here?
> type WithList a b = b [a]
> type FooPair a b = (b, a -> b)
ghc fixes kinds of parameters in 'type' definitions. in your
definition, it fixes arity of a and b at minimal level where
definition can be typechecked. if that isn't what you need, you should
add manual kind definitions:
type WithList a (b :: * -> * -> * ) = b [a]
type FooPair a b = (b, a -> b)
(it will work in ghc, probably hugs and haskell-prime, but not in
haskell-98. you will need -fglasgow-exts ghc option to compile this
module. read more about kinds in GHC manual)
another option is to add one more parameter to WithList giving ghc
a hint about kind of b parameter :)
type WithList a b c = b [a] c
type FooPair a b = (b, a -> b)
--
Best regards,
Bulat mailto:Bulat.Ziganshin at gmail.com
More information about the Haskell-Cafe
mailing list