私は自分自身でHaskellを本の中から教え始めたばかりですReal World Haskell、そして演習中に以下のように書いていますコード:私は、エラーが「どこ」節の相互作用によるものであることがほぼ確実だHaskell: 'where'とガードでの構文解析エラー
IntParse.hs:12:12: parse error on input `|'
Failed, modules loaded: none.
と:私はGHCiの6.6にそれをロードしたとき、私は
step acc ch | isDigit ch = if res < acc
then error "asInt_fold: \
\result overflowed"
else res
where res = 10 * acc + (digitToInt ch)
| otherwise = error ("asInt_fold: \
\not a digit " ++ (show ch))
次のエラーが発生しましたその後のガード。ガードをコメントアウトすると、where句を同等のlet節で置き換えるのと同じように、ガードが削除されます。何とかインデントを変えなければならないと確信していますが、どうやって整理することはできません。
ご協力いただきありがとうございます。