Guarded Horn Clauses
2本のストリームをマージして1本のストリームにするマージプロセスのプログラム例を以下に示す。Prologと同様、A や Xs など英大文字や"_"で始まる項は変数を表す。mergeの最初の2つの引数が入力、最後が出力のストリームである。
例えば、上記プログラムの最初の節では、最初の引数が[A|Xs]のようなリストの形になっていない場合は中断し、他のプロセスにより[A|Xs]の形に具体化された(具体的に値が決まった)場合に実行を再開する。この時点でXs自体は具体化されていなくても構わないため、リストの先頭からインクリメンタルに具体化されるストリームを素直に処理できる。