如果我添加空格,为什么Haskell代码会变得无效?

如果我添加空格,为什么Haskell代码会变得无效?,haskell,syntax,sublimetext2,sublimetext,Haskell,Syntax,Sublimetext2,Sublimetext,对不起,我可能有个问题 我明白了: Prelude> all (\x -> x==1) ([n | n <- [1..20]]) False Prelude> all (\x -> x == 1) ([n | n <- [1..20]]) <interactive>:17:44: parse error (possibly incorrect indentation or mismatched brackets) Prelude>

对不起,我可能有个问题

我明白了:

Prelude> all (\x -> x==1) ([n | n <- [1..20]])
False
Prelude> all (\x -> x == 1) ([n | n <- [1..20]])

<interactive>:17:44:
    parse error (possibly incorrect indentation or mismatched brackets)
Prelude> 
增加了用于证明的截图;很难看到,但是你可以看到输入行没有包含任何奇怪的内容


事实证明,这种行为只发生在Sublime Haskell REPL插件中。我已经为此申请了一张罚单。

您介意将上面的代码直接复制/粘贴到GHCi中并试用吗?这些空间不应该对解析器有任何影响。也许当你在shell中键入它时,你在结尾处漏掉了一个括号,但是你是正确的吗?啊,它只出现在崇高的Haskell REPL中!那我就给他们开罚单。感谢您的测试@道格·麦克莱恩:我很确定这是一个极好的插件问题。我提出了一个问题。@didierc但它是:它在Haskell生态系统中。我认为这个问题肯定是关于主题的:这是Haskell的一个模糊问题,即使最后它实际上是Sublime的错。除此之外,关于程序员经常使用的工具的问题无论如何都是一个话题!
$ ghci --version
The Glorious Glasgow Haskell Compilation System, version 7.6.3