[GHC] #14139: Kind signature not accepted (singletons)
GHC
ghc-devs at haskell.org
Sun Aug 20 14:48:57 UTC 2017
#14139: Kind signature not accepted (singletons)
-------------------------------------+-------------------------------------
Reporter: Iceland_jack | Owner: (none)
Type: bug | Status: closed
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.1
Resolution: duplicate | Keywords: TypeInType
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: #13365 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by RyanGlScott):
* status: new => closed
* resolution: => duplicate
* related: => #13365
Comment:
Yep, this is a CUSK issue.
[http://git.haskell.org/ghc.git/blob/1cdceb9fa3bc3ad01b2d840caad8e735513e14ed:/docs/users_guide/glasgow_exts.rst#l8524
Here] is the relevant section of the users' guide:
{{{
- For a datatype with a top-level ``::`` when :ghc-flag:`-XTypeInType`
is in effect: all kind variables introduced after the ``::`` must
be explicitly quantified. ::
-- -XTypeInType is on
data T1 :: k -> * -- No CUSK: `k` is not explicitly
quantified
data T2 :: forall k. k -> * -- CUSK: `k` is bound explicitly
data T3 :: forall (k :: *). k -> * -- still a CUSK
Note that the first example would indeed have a CUSK without
:ghc-flag:`-XTypeInType`.
}}}
In your example, `v` is not explicitly quantified in the kind signature of
`Some`, which explains why its kind defaults to `*` (and results in the
error message you see).
Since this asks to improve the error message to warn about CUSK behavior,
I'll close this as a duplicate of #13365, which seeks the same goal.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14139#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list