[GHC] #8135: Panic when printing out kind incompatibility error

GHC ghc-devs at haskell.org
Thu Aug 15 16:57:53 CEST 2013


#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




More information about the ghc-tickets mailing list