Skip to content

Using lift with StateT and Maybe on GHCI

I was playing around with StateT and Maybe today and I run the following two commands (consider that TC == import qualified Control.Monad.Trans.Class as TC:

ghci> let g = TC.lift Just [3, 4]  :: StateT [Int] Maybe Int

which led to a:

<interactive>:54:9:
    Couldn't match kind `* -> *' with `*'
    Expected type: [t0] -> StateT [Int] Maybe Int
      Actual type: [t0] -> StateT [Int] Maybe Int
    Kind incompatibility when matching types:
      [t_i] :: * -> *
      [t0] :: *
    The function `TC.lift'ghc: panic! (the 'impossible' happened)
  (GHC version 7.6.3 for x86_64-apple-darwin):
	kindFunResult
<<details unavailable>>

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

and

> let g = TC.lift Just (1, [3, 4])  :: StateT [Int] Maybe Int

which led to:

<interactive>:55:9:
    Couldn't match kind `* -> *' with `*'
    Expected type: (t0, [t1]) -> StateT [Int] Maybe Int
      Actual type: (t0, [t1]) -> StateT [Int] Maybe Int
    Kind incompatibility when matching types:
      (t_i, [t_l]) :: * -> *
      (t0, [t1]) :: *
    The function `TC.lift'ghc: panic! (the 'impossible' happened)
  (GHC version 7.6.3 for x86_64-apple-darwin):
	kindFunResult
<<details unavailable>>

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

I'm just doing what the last line asked me. :)

Trac metadata
Trac field Value
Version 7.6.3
Type Bug
TypeOfFailure OtherFailure
Priority low
Resolution Unresolved
Component GHCi
Test case
Differential revisions
BlockedBy
Related
Blocking
CC hvr
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information