3
module Main where
import Data.Char
import Control.Monad
import Control.Monad.Trans.Writer
import Control.Applicative
import Data.Monoid
wt :: Int -> Writer Int [String]
wt x=writer(["num:"++ show x],x)
addw::Writer Int [String]
addw = do
a <- wt 2
b <- wt 3
return (a*b)
2 오류가 있습니다하스켈 (모노 이드 INT) 없음 예를 하스켈 플랫폼을 사용하는 작가 모나드 2013 2.0.0
No instance for (Monoid Int) arising from a do statement
Possible fix: add an instance declaration for (Monoid Int)
In a stmt of a 'do' block: a <- wt 2
In the expression:
do { a <- wt 2;
b <- wt 3;
return (a * b) }
In an equation for `addw':
addw
= do { a <- wt 2;
b <- wt 3;
return (a * b) }
No instance for (Num [String]) arising from a use of `*'
Possible fix: add an instance declaration for (Num [String])
In the first argument of `return', namely `(a * b)'
In a stmt of a 'do' block: return (a * b)
In the expression:
do { a <- wt 2;
b <- wt 3;
return (a * b) }
나는 최신 eclipsefp, 하스켈 플랫폼 2013 이클립스 4.4 주노 사용 Sum
및 Product
: 2.0.0이 GHC 7.6.3 포함,이 코드는 중대한 좋은
효과가 있습니다. 중량 : INT-> 작가 [문자열] 지능 중량 X = 작가 : - 중량 addw :: 작가 [문자열] 지능 addw = 을 <(X, [ "NUM은"X 보여 ++]) 2 b <- wt 3 return (a * b) – doofin