Entries from 2007-08-11 to 1 day

quasiquote実装

quasiquote を中途半端に実装。 入れ子の場合は今のデータ構造だと面倒なので省略。 早くデータ構造を変えないと色々なところが歪に。R5RS は例にそれとなく細かい仕様が書かれていて見逃しがち。 `(( foo ,(- 10 3)) ,@(cdr '(c)) . ,(car '(cons))) => ((f…

ese-eval3 - begin (was 写経)

make-begin-cont の invoke-proc が2種類。 (begin 1 (begin 2 3)) の計算経過を絵に描いてみると分かるけどスタックの使われ方が違う。 引数の eval の結果を待っている自分自身をスタックから pop してしまうところがポイントか。 (use util.list) (use ga…