【发布时间】:2018-02-19 02:59:16
【问题描述】:
根据Haskell indentation rules,“作为某个表达式一部分的代码应该比该表达式的开头缩进更多”。但是,我发现以下示例似乎违反了上述规则,编译时没有任何错误或警告:
someFunction :: Bool -> Int -> Int -> Int
someFunction condition a b = if condition
then a - b
else a + b
这里我定义了一个函数someFunction,它的主体是一个if-then-else 块。根据缩进规则,then 块是第一行中同一表达式的一部分,因此它应该比前一行缩进更多。然而在我的示例中,第二行 then 与第一行在同一列开始,并且此示例编译。
我不确定这里发生了什么。我正在使用 GHC 版本 8.0.1。
【问题讨论】:
标签: haskell