R7RS-Bridgeを開始
R7RSの各種ライブラリをR6RSライブラリとして実装するプロジェクトを始めました。まだ全然全然できてないですが。。
ついでに、Chibi-schemeで拡張子.slsを読めるようにしたパッチも書いた。
これで、このパッチされたchibi-schemeとR6RS実装でライブラリを共有することが出来るように。
目的
R7RS-bridgeの目的はいくつかあって、
- 本当にR7RS smallで各種ライブラリを実装できるのかを検証する
- R7RS baseで実装されたR7RS smallを準備する
R7RS base((scheme base)ライブラリ)はR7RS smallのサブセットで、例えばdelayとかforceは(scheme base)で実装できる。
重要なのはreadやwriteを実装すること。readの実装にはLarcenyのパーサジェネレータを使う予定。。
- なるべく早い段階から"外部実装"を提供する
chibi-schemeはR7RSのchairによって実装されているので、あまりR7RS実装がchibi-schemeしかないという期間は長くないほうが好ましい。
R6RS実装にとっては、R7RSとR6RSのライブラリが相互運用可能であることが好ましいので、可能な限り多くの部分をR6RSで実装したらどうなるかを事前に検証することには意義が有る。
- テストを準備する
R7RSはR5RSと同じようにエラーケースをあまり規定していないので、あまり徹底的なテストは書けないような気もしている。。