[GHC] #7939: RHS of associated type not kind-checked
GHC
ghc-devs at haskell.org
Fri Jun 28 00:16:47 CEST 2013
#7939: RHS of associated type not kind-checked
------------------------------------------+---------------------------------
Reporter: goldfire | Owner: goldfire
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.7
Resolution: | Keywords:
Os: Unknown/Multiple | Architecture: Unknown/Multiple
Failure: GHC accepts invalid program | Difficulty: Unknown
Testcase: ghci/scripts/T7939 | Blockedby:
Blocking: | Related:
------------------------------------------+---------------------------------
Comment(by goldfire):
This, too, is fine. `F` does have kind `k`, but it will only be a synonym
to `Maybe` in contexts that expect a type of kind `* -> *`:
{{{
Prelude> type family F :: k where F = Maybe
Prelude> :kind! F
F :: k
= forall (k :: BOX). F k
Prelude> :kind! F Int
F Int :: k
= forall (k :: BOX). F (* -> k) Int
Prelude> :kind! (F Int :: *)
(F Int :: *) :: *
= Maybe Int
}}}
So, I do think that beasts like `F` are strange, but I think (hope?) that
a programmer is unlikely to stumble upon an `F` without knowing what they
are doing.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7939#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list