
#15628: Higher-rank kinds -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.6.1-beta1 Resolution: | Keywords: 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): I should have known. I can close it or label it with imprediativity, I still find it mysterious that {{{#!hs -- works newtype Bar = Bar (forall (f :: FOO). ()) }}} adding a `Proxy` induces an existential variable `x` seemingly without introducing quantification, but this is maybe a problem with my intuition? Or at least something rings odd about this (then again higher-rank kinds are odd and interesting) {{{#!hs -- oops, you are actually writing -- Proxy @(x -> Type) (f @x) newtype Bar = Bar (forall (f :: FOO). Proxy f -> ()) }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15628#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler