【发布时间】:2015-04-11 12:05:56
【问题描述】:
在下面的 Haskell 代码中,我收到一个错误“输入 'in' 上的解析错误”。根据我的阅读,我使用的缩进应该没问题。事实上,我在代码的其他地方成功地使用了具有类似缩进的 'let' 和 'in'('let' 与 'in' 对齐)。我打破了什么规则导致这个“in”成为一个问题?如果我在 'in' 前面添加一个空格(使其比 'let' 多 1 个空格),它编译得很好。
runTests :: IO ()
runTests = do
let results = fmap testLispExpr testLispText
resultStrings = fmap show results
putSeq (x:xs) = do putStrLn x
putSeq xs
putSeq [] = return ()
in putSeq resultStrings
感谢所有帮助。提前致谢。
【问题讨论】:
-
顺便说一下,这相当于
runTests = mapM_ (print . testLispExpr) testLispText
标签: haskell syntax indentation let do-notation