
#7802: kindFunResult in monad transformer -------------------------------+-------------------------------------------- Reporter: tobsan | Owner: Type: bug | Status: new Priority: normal | Component: Compiler (Type checker) Version: 7.6.1 | Keywords: Os: Linux | Architecture: x86_64 (amd64) Failure: Compile-time crash | Blockedby: Blocking: | Related: -------------------------------+-------------------------------------------- This is probably related to the existing (fixed?) bug(s) about kindFunResult, but better safe than sorry. I was writing a brainfuck interpreter, and tried changing this code: {{{ getptrval = gets mem >>= \a -> gets ptr >>= lift . readArray a }}} to this (which probably wouldn't even work): {{{ getptrval = liftM2 (lift . readArray) (gets ptr) (gets mem) }}} which gives this error message from GHC: {{{ Brainfuck.hs:53:21:ghc: panic! (the 'impossible' happened) (GHC version 7.6.1 for x86_64-unknown-linux): kindFunResult <<details unavailable>> }}} Related type information: {{{ type BFMonad a = StateT BFState IO a data BFState = BF { pc, ptr :: Int, mem :: IOUArray Int Int, program :: UArray Int Char } }}} -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7802 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler