
#8454: kindFunResult ----------------------------------+--------------------------------- Reporter: adinapoli | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.6.3 Keywords: | Operating System: MacOS X Architecture: x86_64 (amd64) | Type of failure: None/Unknown Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | ----------------------------------+--------------------------------- GHC asked, and I diligently reported the bug: {{{ [1 of 1] Compiling Main ( src/Chronos.hs, dist/build/chronos /chronos-tmp/Main.o ) src/Chronos.hs:17:3: Couldn't match expected type `IO ()' with actual type `r0 -> IO a0' In a stmt of a 'do' block: runReaderT $ (\ c -> do { interval <- lift (require c "chronos.pingInterval"); lift forever (monitor (interval * 1000000)) }) config In the expression: do { config <- load ["resources/application.cfg"]; runReaderT $ (\ c -> do { interval <- lift (require c "chronos.pingInterval"); .... }) config } In an equation for `main': main = do { config <- load ["resources/application.cfg"]; runReaderT $ (\ c -> do { ... }) config } src/Chronos.hs:19:5: Couldn't match kind `* -> *' with `*' Expected type: ReaderT Config IO () -> ReaderT r0 IO a0 Actual type: ReaderT Config IO () -> ReaderT r0 IO a0 Kind incompatibility when matching types: ReaderT Config IO () :: * -> * ReaderT Config IO () :: * The function `lift'ghc: panic! (the 'impossible' happened) (GHC version 7.6.3 for x86_64-apple-darwin): kindFunResult ghc-prim:GHC.Prim.*{(w) tc 34d} Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}} Please find attached the offending program. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8454 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler