
#11376: Inconsistent specified type variables among functions and datatypes/classes when using -XTypeApplications -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: goldfire Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 8.1 checker) | Keywords: Resolution: | TypeApplications Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: Other | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): Another troubling aspect of this that I discovered recently: GHC appears to quantify type variables in typeclass methods differently now. Compare this (GHC 7.10.3): {{{ $ /opt/ghc/7.10.3/bin/ghci -fprint-explicit-foralls GHCi, version 7.10.3: http://www.haskell.org/ghc/ :? for help λ> import GHC.Generics λ> :t datatypeName datatypeName :: forall d (t :: * -> (* -> *) -> * -> *) (f :: * -> *) a. Datatype d => t d f a -> [Char] }}} to this (GHC 8.0): {{{ $ /opt/ghc/8.0.1/bin/ghci -fprint-explicit-foralls GHCi, version 8.0.0.20160323: http://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/ryanglscott/.ghci λ> import GHC.Generics λ> :t datatypeName datatypeName :: forall {k} (d :: k). Datatype d => forall {k1} (t :: k -> (* -> *) -> k1 -> *) (f :: * -> *) (a :: k1). t d f a -> [Char] }}} I'm not sure what's going on with the GHC 8.0-reported type signature at all. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11376#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler