Portal:コンピュータ/特集項目/プログラミング言語/並行論理プログラミング

並行論理プログラミング(へいこうろんり-、: Concurrent Logic Programming)は、論理プログラミングにおける並列性及び論理プログラミングによる並行処理の記述の研究から生まれた、並行プログラミングのためのパラダイムである。論理プログラミングでは述語論理式をゴール(Goal)の書き換え規則と見なし、ゴールの書き換えによって処理を行う。それに対し、並行論理プログラミングでは各ゴールをプロセスと見なして並行に書き換えを行い、ゴール間で共有する論理変数を通信チャネルとして情報交換や同期を行う。

通常、並行論理プログラミングではホーン節ガードを導入した以下のような形式でプログラムを記述する。

Head :- Guard | Body.

このガード付きホーン節は、エドガー・ダイクストラガード付きコマンドと同様のものである。ゴール書き換えにはヘッドとガードの条件を満たす規則が使用され、この選択は永続的なものとしてコミットされる。……もっと読む