私はこのライターモナドロギングの例で遊んでいます:
http://monads.haskell.cz/examples/example17.hs
ライターモナドを使用してロギングを行う方法を理解するために、おもちゃの問題として使用しています。各行で日時を出力するようにプログラムを変更しようとしています。私の最初の考えは、次のように変更することlogMsg
です。
-- add a message to the log
logMsg :: String -> Writer [Entry] ()
logMsg s = do
datetime <- getClockTime
tell [Log 1 (datetime ++ " " ++ s)]
しかし、これはコンパイルされません。IO
どこかに挿入する必要があると思います。どこ?ヘルプ!