kazu-yamamoto / logger

A fast logging system for Haskell
159 stars 68 forks source link

Compiling on head of GHC 8 #101

Closed bermanjosh closed 8 years ago

bermanjosh commented 8 years ago

Hi,

When trying to compile with the head of GHC 8.0.1 (GHC-8.0 branch, version 8.0.1.20160919), I get a series of errors like this:

Control\Monad\Logger.hs:249:10: error: * Couldn't match type 'm' with 'IdentityT m' 'm' is a rigid type variable bound by the instance declaration at Control\Monad\Logger.hs:249:10 Expected type: IdentityT m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) Actual type: IdentityT (IdentityT m) (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) * In the expression: Control.Monad.Logger.$dmaskLoggerIO @IdentityT m In an equation for 'askLoggerIO': askLoggerIO = Control.Monad.Logger.$dmaskLoggerIO @IdentityT m In the instance declaration for 'MonadLoggerIO (IdentityT m)' * Relevant bindings include askLoggerIO :: IdentityT m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) (bound at Control\Monad\Logger.hs:249:10)

I am guessing this is related to the following patch in GHC: http://git.haskell.org/ghc.git/commit/54b887b5abf6ee723c6ac6aaa2d2f4c14cf74060 (We were able to compile with GHC 8.0.1.20160901)

Full log is attached

I don't know that this is something which needs by GHC or here, but I wanted to record it for now.

Thanks,

EDIT: Further reading: https://ghc.haskell.org/trac/ghc/ticket/12220 https://ghc.haskell.org/trac/ghc/ticket/12466

It looks like this isn't going to make it into 8.0.2, so I guess this is all irrelevant