我正在玩这个 writer monad 日志记录示例:
http://monads.haskell.cz/examples/example17.hs
我将它用作一个玩具问题来弄清楚如何使用 writer monad 进行日志记录。我正在尝试修改程序,以便它输出每一行的日期时间。我最初的想法是这样修改logMsg
:
-- add a message to the log
logMsg :: String -> Writer [Entry] ()
logMsg s = do
datetime <- getClockTime
tell [Log 1 (datetime ++ " " ++ s)]
但是,这不会编译。我想我需要在IO
某处插入。在哪里?帮助!