我刚刚开始使用Haskell,我无法理解一件事 - 为什么这样的事情不起作用?
fun f = f * f
main =
do
foo <- getLine
bar <- getLine
print (fun 4)
我一直在接收来自ghc的“输入'print'的解析错误”。但对我来说更神秘的是它在删除foo&lt; - getLine和bar&lt; - getLine之后起作用。有什么想法吗?
答案 0 :(得分:10)
这意味着您正在混合制表符和空格。请注意,空格对于解析Haskell很重要。您的print
行可能过于缩进(或者没有缩进得足够远)。替换所有标签!
编辑:请注意,您发布的代码的复制/粘贴只会使用空格并且工作正常。