Haskell を学ぶために 、Erik Meijer の13 部構成の講義(および Graham Hutton のスライド) に取り組み始めました。
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 パターンの使用方法を理解していませんか?