R6RS test suite を Mosh で使ってみよう

少し前に comp.lang.scheme で盛り上がっていたR6RS test suite
そのとき試したところ Conditions/Records がないため実行すらできなかった。
Conditions/Records を実装したのでリベンジ。

1. *.sls を使えるように

R6RS test suite はライブラリの拡張子を .sls にしているようだ。
手元のリリース版の psyntax では .ss なのだが、.sls も検索パスになるようにクイックハック。

2. svn に取り込む

R6RS test suite は日々進化しているので自動的に最新版に追随したい。
svn:external を使い実現。

% EDITOR=jed svn propedit svn:externals .
r6rs http://svn.plt-scheme.org/plt/trunk/collects/tests/r6rs/

3. 実行

../mosh -b tests/r6rs/run/mutable-strings.sps
Running tests for (rnrs mutable-strings)
3 tests passed

mutable-strings のテストが通った!

4. 現状

  • mutable-strings
  • contrib
  • programs
  • control

の4つはテストが通った。

他のテストはボッコボコ。
hashtable のテストなのにものすごく大きな数字が使われていたり、reader がまだ対応していない記法があったりと改善すべき点はいくつもありそう。
がんばろう!