並行論理プログラミング
複数の通信しあうプロセスの集まりでプログラムを構成するという考え方は、1977年にKahnとMcQueenから、 1978年にHoareから提案された。
KahnとMcQueenが提案したものは、複数のプロセスがストリームを介して通信を行う言語で、プロセス間の非同期通信とプロセスの動的生成を許し、プロセス自体は決定的な動作を行うものだった。Hoareが提案したものはガード付きコマンドの考えに基づいたCSPで、この時点ではプロセスの動的生成や非同期通信などの機能は含まれていなかった。 1979年にvan Emdenとde Luceanaは、KahnとMcQueenのモデルを論理プログラミングに適用し、導出時のゴールをプロセス、共通論理変数を通信チャネルと見なす、論理プログラミングのプロセス的解釈を与えた。
ClarkとGregoryは1981年にRelational Languageを提案した。Clarkらはその前に並行実行の機能をPrologに追加したIC-Prologという言語を開発したが、制御機構が複雑になりうまくいかないことが分かった。IC-Prologからバックトラックの機能を取り除きCSPのアイデアを取り入れたRelational Languageは、非同期通信やプロセスの動的生成の機能を含むもので、その後の並行論理プログラミング言語の基礎になった。 ShapiroはRelational Languageをより単純化し、ガードの制限を緩めたConcurrent Prologを1983年に発表した。