Linda
並列処理とプログラミング言語の関わりを考えたとき、いくつかの手法が考えられる。まず、言語を並列処理向きに一から設計する手法である。例えば、CSPに基づいた Occam などがある。第二に既存の言語に並列処理モデルを導入して新たな言語を構築する手法である。例えば、Multilisp、Concurrent Smalltalk などがある。第三に並列化を言語仕様とは別の部分で実現する手法である。例えば、コンパイラによって並列処理を実現する。
Linda はこれらとは異なるアプローチであり、既存の言語仕様に修正を加えずに協調モデル(coordination model)を付加することで並列処理を実現する。このため Linda は「協調言語(coordination language)」とも呼ばれ、並列性のない言語で書かれたアプリケーション間の協調動作にのみ注目している。Linda のモデルでは、タプルスペース(tuplespace)と呼ばれる概念上の共有メモリ上で型つきのデータレコード(タプル)をそこに格納する。タプルスペースは以下の5つの単純な操作でアクセスされる。
Linda は、並列プログラミング言語であり、Prolog、C言語、Javaなどの他の(逐次的)言語上に拡張として実装される。