Picat
Picatは、周能法(Neng-Fa Zhou)およびJonathan Fruhmanによって設計された。2012年12月に仕様が公開され、2013年5月に処理系がリリースされた。
Picatという名称は、次の単語の頭文字に由来する。
Pattern-matching
Imperative
Constraints
Actors
Tabling
Picatのプログラムは、述語または関数の定義から構成される。述語または関数は、1個以上のルールによって定義される。
ルールにはバックトラックが可能なものとそうでないものとがあり、バックトラックが可能なルールを書くことによって、非決定的な述語を定義することができる。非決定的な関数は、定義することができない。
Picatは制約プログラミングをサポートしている。「ソルバーモジュール」と呼ばれる、cp(Constraint Programming)、sat(Satisfiability)、mip(Mixed Integer Programming)という三つのモジュールのいずれかをインポートすることによって、制約充足問題を記述することができるようになる。