eval と REPL(対話型評価環境)を追加
eval と REPL(対話型評価環境)を追加しました。(trunk のコードで試せます)
mosh>(define (add2 n) (+ n 2)) #<clsoure> mosh>(add2 5) 7
現時点では eval の第2引数は無視されます。
また REPL は Scheme のコードで実装されています。
(define (REPL . x) (define (rec) (display "mosh>") (print (eval (read (current-input-port)) '())) (rec)) (rec))
REPLは Read-Eval-Print-Loop の略ですが本当にその通りの実装になっていますね。
まだスタックトレースの実装が甘いらしくたまに落ちます。