我一直在尝试编译Haskell代码 - 再次 - 涉及Control.Monad.Writer.这是一个不能从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)
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
No instance for (Show (Writer [String] Int))
arising from a use of …Run Code Online (Sandbox Code Playgroud)