首页 > 解决方案 > 关于可能的缩进错误的 Haskell 错误

问题描述

在下面的 Hasekll 代码中,

func1 :: Int -> [Int]
func1 m = aux 2
  where aux h = 
    | length (func2 h) >= m = take m (func2 h)
    | otherwise              = aux (h + 100)

GHC 给出的错误是

    parse error (possibly incorrect indentation or mismatched brackets)
   |
15 |     | length (primes h) >= m = take m (primes h)
   |     ^

Compilation failed.

我没有使用制表符,而是一致地使用两个空格进行缩进。我还手动重新键入了整个函数,以防我在某些时候不小心混合了制表符和空格。但是,在阅读缩进规则大约半小时后,我仍然无法弄清楚这个错误来自哪里。

标签: haskell

解决方案


推荐阅读