free-monad-example/src/Logger/Interpreter.hs
Sanchayan Maity e4c13abefa src: Refactor DB and Logger out of lib
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-07-28 18:27:33 +05:30

12 lines
286 B
Haskell

module Logger.Interpreter where
import Control.Monad.Free.Church (foldF)
import Logger.Language
interpretLoggerMethod :: LoggerMethodF a -> IO a
interpretLoggerMethod (LogMessage msg next) = next <$> print msg
runLogger :: Logger () -> IO ()
runLogger = foldF interpretLoggerMethod