並行制約プログラミング
1970年代初めに生まれた論理プログラミングの考え方は、その宣言的な性格を活かしつつより表現力を大きくするため、一般的な制約を扱うように拡張され、Prolog II(1980)やProlog III(1987)、IBMのJafferやLassezらが1987年に発表した制約論理プログラミングスキーマCLP(X)に基づいた各種言語などに発展していった。
それと並行して、論理プログラミングでの導出時のゴールをプロセス、ゴール間で共有する論理変数を通信チャネルと見なす、van Emdenとde Luceanaらの論理プログラミングのプロセス的解釈(1979) から、ガード付きコマンドの考えに基づいたガード付きホーン節でプロセスの生成や通信を表現する並行論理プログラミングの考え方が生まれた。ShapiroのConcurrent Prolog(1983) や上田によるGHC (1985) やKL1などの様々なプログラミング言語や各種のプログラミングテクニックが開発され、また第五世代コンピュータプロジェクトで並列マシンのオペレーティングシステムや言語処理系、さまざまな応用プログラムの作成に利用された。
線形並行制約プログラミング(Linear Concurrent Constraint Programming)は並行制約プログラミングを線形論理(Linear Logic)と呼ばれる論理体系に応用したものである。Vijay Saraswatにより1993年頃に可能性が指摘され、 Francois Fagesらにより理論的にまとめられた。