1

我刚开始使用 Haskell,我无法理解一件事 - 为什么这样的东西不起作用?

fun f = f * f
main = 
    do 
        foo <- getLine 
        bar <- getLine
        print (fun 4)

我不断收到来自 ghc 的“输入 `print' 上的解析错误”。但对我来说更神秘的是,它在删除 foo <- getLine 和 bar <- getLine 之后才起作用。有任何想法吗?

4

1 回答 1

10

这意味着您正在混合制表符和空格。注意空格对于解析 Haskell 很重要。您的print行可能缩进太远(或缩进不够远)。替换所有标签!

编辑:请注意,您发布的代码的复制/粘贴只会使用空格并且可以正常工作。

于 2013-03-05T21:23:34.577 回答