slib 導入進捗

slib を使えるようにあれこれやっていますが、進捗報告。
それにしても slib を動かそうとすると、自然とインタプリタの品質が高まっていく。
自前のインタプリタ実装がいかに甘いかがいろいろなタイミングで分かる。

解決済みの問題

  • case のサポートを忘れていた → マクロで定義した
  • GC のバグ → 修正した
  • マクロの ... マッチングの不備 → 完全ではないものの修正
  • load 関数のスコープ問題のバグ(?) → R5RS では詳細は語られていないが SigScheme, Gauche にあわせた
  • "\"hoge" のようにエスケープされたダブルクォートが正しく認識できないバグ → 修正
  • append 関数がない → 追加した
  • do がない → マクロで定義した

解決していない問題

  • (cdr '(#f . #f)) など quote がうまくうごいていない
  • read をサポートしていない
  • マクロのマッチングがまずい


と、結構散々な結果。
重点課題は quote だなぁ。明日やろう。