REPL
ファイル引数なしで rontolisp を実行すると、対話的な read-eval-print
ループ(REPL)が起動します。1 つずつ式を読み込み、ツリーウォークインタプリタで
評価して結果を表示します。言語を試すのに最も手早い方法です。
rontolisp
> (+ 1 2)
3
> (* 3 (+ 4 5))
27
> (defun fact (n) (if (= n 0) 1 (* n (fact (- n 1)))))
fact
> (fact 10)
3628800
> (quit)
各トップレベルフォームは完成するとすぐに評価され、その値がエコーバックされます。
定義は入力をまたいで保持されます。あるプロンプトで入力した defun、defvar、setq
は以降のすべてのプロンプトで参照できるため、セッション内で段階的に状態を構築できます。
プロンプトは複数行入力を受け付けます。式の括弧が閉じていない場合、REPL は括弧が
閉じるまで読み込みを続け、それから評価します。また、行編集、上下の矢印キーによる
履歴ナビゲーション、Ctrl-C による現在の入力のキャンセルもサポートします。
終了するには (quit) と入力するか Ctrl-D を押します。
ここで簡単な式を試してみてください。