REPL

wikipedia:Eval

Lispはeval 関数を利用したオリジナルの言語であった。evalの定義によって、Lispインタプリタの最初の実装が現れたのである。evalが定義される以前は、 Lispの関数は手動でアセンブリ言語の文にコンパイルされていた。しかし一度eval関数が手動でコンパイルされると、それは単純な入力・評価・出力のループの一部として使われるようになり、最初のLispインタプリタの基礎を形作った。Lispの後のバージョンのeval関数はコンパイラとしても実装されている。

なるほどびっくり。今時の若者は「コンパイラで eval を実装するにはインタプリタをくっつける必要があって……」などと言いますが、話としては逆なのか?

(loop (print (eval (read))))

コンパイルして生まれたプログラムがインタプリタなのか。つーか、何故 REPL なんて用語がもっともらしくあるのかがわかった。なるほどこれは REPL ですね。
参考 : http://en.wikipedia.org/wiki/Read-eval-print_loop

test