
#8135: Panic when printing out kind incompatibility error -------------------------------------+------------------------------------ Reporter: Saulzar | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.6.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Description changed by jstolarek: Old description:
I wrote a little utility function against the new pipes 4.0 repository but neglected to put the brackets around lift (f x) like so:
mapM :: (Monad m) => (a -> m b) -> Pipe a b m r mapM f = for cat $ \x -> do r <- lift f x yield r
Which resulted in this error/panic.
src/Utils/Pipes.hs:13:8: Couldn't match kind `* -> *' with `*' Expected type: a -> Proxy () a () b m b Actual type: a -> Proxy () a () b m b Kind incompatibility when matching types: a :: * -> * a :: * The function `lift'ghc: panic! (the 'impossible' happened) (GHC version 7.6.2 for x86_64-unknown-linux): kindFunResult ghc-prim:GHC.Prim.*{(w) tc 34d}
New description: I wrote a little utility function against the new pipes 4.0 repository but neglected to put the brackets around `lift (f x)` like so: {{{ mapM :: (Monad m) => (a -> m b) -> Pipe a b m r mapM f = for cat $ \x -> do r <- lift f x yield r }}} Which resulted in this error/panic. {{{ src/Utils/Pipes.hs:13:8: Couldn't match kind `* -> *' with `*' Expected type: a -> Proxy () a () b m b Actual type: a -> Proxy () a () b m b Kind incompatibility when matching types: a :: * -> * a :: * The function `lift'ghc: panic! (the 'impossible' happened) (GHC version 7.6.2 for x86_64-unknown-linux): kindFunResult ghc-prim:GHC.Prim.*{(w) tc 34d} }}} -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8135#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler