[GHC] #12928: Too easy to trigger CUSK condition using TH
GHC
ghc-devs at haskell.org
Mon Dec 5 22:16:17 UTC 2016
#12928: Too easy to trigger CUSK condition using TH
-------------------------------------+-------------------------------------
Reporter: int-index | Owner:
Type: feature request | Status: new
Priority: high | Milestone:
Component: Compiler (Type | Version: 8.0.1
checker) |
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: GHC rejects | Unknown/Multiple
valid program | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
Right. In ''type signatures'' we look at the type signature '''all by
itself''', quite '''independent of the definition''', and generalise any
kind variables. So when you write
{{{
fffSym0 :: TyFun (Proxy a) () -> Type
}}}
we'll behave (as you say) as if you wrote:
{{{
fffSym0 :: forall k. forall (a:k). TyFun (Proxy a) () -> Type
}}}
I agree that this would be reasonable behaviour for a type-level kind
sinature. Does everyone agree?
BUT we don't have separate type-level kind signatures (yet). If we did,
yes. But as-is, do we really want to trigger generalisation when (and only
when) the CUSK conditions are satisfied. Maybe so...?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12928#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list