連鎖性言語/左から右へ評価

連鎖性言語の評価規則は非常に簡単で、クォーテーションを左から右へ走査し、リテラルをスタックに積み、ワード定義を調べます (ワード定義はそれ自体がプリミティブであることもあれば、クォーテーションを定義として持っていることもあります)。

このような形で評価が行われるために、シングルステップデバッガが非常に使いやすくなっています。たとえば、あらゆるステートメントが暗黙の関数呼び出しの埋め込まれた地雷原であるとも言え、評価の順序が必ずしも明確ではない C++ のような一部の言語とは異なり、連鎖性言語ではデバッガは常に左から右へと移動するだけです。

Factor には、この原則に基づいた 'walker' ツールがあります (UI リスナーで何かコードを入力して Control-w を押してみてください)。walker は継続 (continuations) を使って実装されており、対象となるコードに副作用がない場合には、逆方向のステップ実行も可能です。

This revision created on Sat, 3 Jan 2009 01:19:01 by slava