Committed-Choice型の言語

KL1とかGHC、FlengはCommitted-Choice型の言語と呼ばれている。
並行論理型言語の一種なのだが、どうして、Committed-Choiceと呼ばれるのかが
やっとわかった。


そこで KL1 では, どの公理を選ぶかを決めたら決して後戻りしない方針をとった.
そのかわり, どの公理を選ぶかの条件となる部分を「ガード」として分離し, その
条件を正確に判断できる情報が集まるまでは選択を待つことによって, 誤った選択
をしないようにしたわけである. このような方針をとる論理型プログラム言語は,
自らの選択に賭けるというニュアンスから committed choice 型の並列論理型言語
などと呼ばれることもある.

つまり、Prologのようにバックトラックしないで、ガードによって、選択(Choice)を
決めて突き進む(Commit)するから、Committed-Choiceなのね。