Egison
上記の双子素数のパターンマッチを述語パターンで記述する。
述語パターンの先頭は、?からはじまり、?のあとには 1 引数の述語が続く。
述語を引数に取り述語パターンにする事も出来る。
同じパターンを複数のデータ型に対するパターンマッチで使いまわせる。 リストだけでなく、多重集合や、集合のパターンマッチもサポート可能なEgisonでは、同じデータをプログラムの違う箇所で別々のデータ型としてパターンマッチすることがある。 例えば、あるリストデータが、ある場所では多重集合として、別の場所ではリストとして、パターンマッチされることが起こりうる。 そのため、パターンの多相性は、パターン記述のために覚えなければならないパターンコンストラクタの名前の数を減らし、パターンの簡潔な記述に役に立つ。