
#11694: The function `lift'ghc: panic! (the 'impossible' happened) -------------------------------------+------------------------------------- Reporter: Sventimir | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.3 Keywords: | Operating System: Linux Architecture: x86_64 | Type of failure: Compile-time (amd64) | crash Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- The error message I got doesn't even make much sense (or at least I don't understand it). Here it is: {{{ src/Splices.hs:22:18: Couldn't match kind `* -> *' with `*' Expected type: (a1 -> a1) -> heist-0.14.1.1:Heist.Internal.Types.HeistState.HeistT m m Text Actual type: (a1 -> a1) -> heist-0.14.1.1:Heist.Internal.Types.HeistState.HeistT m m Text Kind incompatibility when matching types: a_t -> a_t :: * -> * a1 -> a1 :: * The function `lift'ghc: panic! (the 'impossible' happened) (GHC version 7.6.3 for x86_64-unknown-linux): kindFunResult ghc-prim:GHC.Prim.*{(w) tc 34d} Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}} As far as I understand it says that two things of the same type (a -> a) have different kind... And the offending function is really simple: {{{#!hs import Happstack.Server (path) import Heist.Interpreted (textSplice) insertFromPath :: Splice m insertFromPath = lift path id >>= textSplice }}} I believe that `m` should evaluate to `ServerPartT IO` from Happstack.Server module. I append the whole source code. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11694 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler