マッチ節とケース式

パターン pat と式 exp が与えられた時、(pat => exp) はマッチ節です。 このパターン pat と式 exp は、ガードとマッチ節の中身と呼ばれます。

式 exp0 とマッチ節の列 clseq が与えられた時、(case exp0 of clseq) のようにケース式を作ることができます。 与えられた環境 ENV0 でケース式を評価すると、 まずはじめに ENV0 において exp0 を評価して値を得ます。 もしこの値が clseq 中のどの節のガードにもマッチしない場合、ケース式の評価は中断されます。 そうでない場合、この値が節のガードにマッチするような clseq の最初の節を選びます。 このマッチによって生成された束縛を ENV0 に追加した新しい環境 ENV1 を作り、 そして ENV1 において選んだ節の中身を評価します。 評価されたケース式の値がこの評価によって得られる値になります。