我已经开始通过 Erik Meijer 的13 部分讲座(和 Graham Hutton 的幻灯片)来学习 Haskell。
在第 13 页第 4 章的幻灯片中,它介绍了 n+k 模式的模式匹配语法。特别是,它说:
与数学一样,整数函数可以使用 n+k 模式定义,其中 n 是整数变量,k>0 是整数常量。
pred :: Int -> Int
pred (n+1) = n
当我在 REPL 中自己尝试此操作时,我收到一条错误消息:
*Main> let mypred (n+1) = n
<interactive>:65:13: Parse error in pattern: n + 1
同样,如果我在*.hs
文件中尝试
mypred :: Int -> Int
mypred (n+1) = n
编译器给出了类似的抱怨:
/Users/pohl/Code/praxis-haskell/helloworld.hs:14:9:
Parse error in pattern: n + 1
我不了解如何使用 n+k 模式吗?