このコードを実行しているときに、本当に混乱した質問があります
data Tree a = Nil | Node a (Tree a) (Tree a)
type IntTree = Tree Int
type Counter = State Int
withCounter::Int -> Counter a -> a
withCounter init f = fst(runState f init)
nextCount::Counter Int
nextCount = do
n <- get
put (n+1)
return n
incTree::IntTree -> IntTree
incTree tree = withCounter 1 (IncTree' tree)
incTree' Nil = return 0
incTree' (Node l e r) = do
newl <- incTree' l
n <- nextCount
newr <- incTree' r
return (Node newl (e+n) newr)
エラーは次のとおりです。
parse error on input '<-'
27行目、つまり「n <- nextCount」で発生しているように見えます
このエラーが発生する理由を誰かが知っていますか? ありがとう !