私は、Control.Monad.Writer を含む Haskell コードを 1 日中コンパイルしようとしました。Learn You a Haskellからコンパイルされないコード例を次に示します。
import Control.Monad.Writer
gcd' :: Int -> Int -> Writer [String] Int
gcd' a b
| b == 0 = do
tell ["Finished with " ++ show a]
return a
| otherwise = do
tell [show a ++ " mod " ++ show b ++ " = " ++ show (a `mod` b)]
gcd' b (a `mod` b)
次のエラーが表示されます。
No instance for (Show (Writer [String] Int))
arising from a use of `print'
Possible fix:
add an instance declaration for (Show (Writer [String] Int))
In a stmt of an interactive GHCi command: print it
今日先生が書いた Control.Monad.Writer を含むコードをコンパイルしようとしましたが、何も機能しません。
Ubuntu 12.04、gedit、および GHC 7.4.1 を使用しています。
Learn You a Haskellの Writer モナド プログラムはすべてコンパイルに失敗しました。