
#15625: GHC panic, with QuantifiedConstraints -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.6.1-beta1 Resolution: | Keywords: | QuantifiedConstraints Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by Iceland_jack):
''[narrator] it was the equality constraint''
thanks monoidal :] the purpose for this is to be able to write `Control.Category.id` of the form {{{#!hs id :: KLEISLI m (KL a) (KL a) id = MkKLEISLI pure }}} but when we define {{{#!hs instance Category (KLEISLI m) where id :: KLEISLI m kl_a kl_a id = .. }}} GHC doesn't know that `kl_a` is of the form `KL a` (same as #7259) so I want to constraint the type signature of `id` by saying `(forall a. kl_a ~ KL a)`. But that is uncouth since it's "quantifying over constraints headed by `(~)`" (ticket:15593#comment:1) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15625#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler