R6RS Macros and R6RS librariesを今度こそ移植する の3

R6RS test suiteを実行するためにrecordとconditionを入れた。conditionは元のmoshから拾ってきている。そろそろコードのキャッシュとVMへの組み込みを試したい。

meta-circular

コードの生成はGaucheだけで行うことができ、一度expanderを生成すれば、moshだけでもexpanderを生成することが出来る。
psyntaxの生成にも使えるかも知れない。

REPL

ERR5RSのREPL。ライブラリをロードしたり、実行中の環境を書き換えることも出来る。

(fmt)ライブラリも正常に動作する。
REPLの起動には多くのライブラリを読み込む必要があり、それなりに時間が掛かるので、元のVMから直接スクリプトを起動するモードと、オプションをパースしてREPLに入るモードの2つを設ける予定。

R6RS test suite

まだ通らない物も多い。

  • 実行できない
    • arithmetic/flonums
    • conditions
    • enums
    • eval - 何か間違っている
    • exceptions - 結果を表示しようとするとmoshがSEGVする
    • io/ports
    • programs
    • test
    • run
  • 成功しないテストがある
    • base 37/2053
    • hashtables 1/249
    • records/syntactic 4/53
    • syntax-case 10/102

これら以外のテストは通過する。