ガード (プログラミング)
パターンガードとは、ガード内でパターンマッチングを行うこと(あるいはそのようなガード)である。この定義は Haskell についてサイモン・ペイトン・ジョーンズが A new view of guards として1997年4月に提案し、その後実装されている。
Haskell での例を示す。
ここで、"<-" はパターンガード修飾子と呼ばれ、右辺を評価した結果を左辺とパターンマッチする。リスト内包表記のようにパターンガードを並べることができ、いずれかがパターンマッチに失敗すれば、その分岐は実行されない。