12 lines
286 B
Haskell
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
|
|
|