R7RS-Bridgeを開始

R7RSの各種ライブラリをR6RSライブラリとして実装するプロジェクトを始めました。まだ全然全然できてないですが。。
ついでに、Chibi-schemeで拡張子.slsを読めるようにしたパッチも書いた。

これで、このパッチされたchibi-schemeR6RS実装でライブラリを共有することが出来るように。

目的

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と同じようにエラーケースをあまり規定していないので、あまり徹底的なテストは書けないような気もしている。。