R6RS ライブラリの serialize/load
R6RS ライブラリの serialize/load を実装中。フレームワークは psyntax 側に用意されているのであれこれと読み漁る。
やっと動いたよ。これにより psyntax のS式変換フェーズをばっさり省略できるのでやっぱり速い。
いくつか考えるべき事があるのでメモ。
- Fasl 化
- .scm よりも .fasl が古い場合
- mosh バイナリが変更になった場合に再 serialize が必要
- .fasl の保存場所。
追記
実装した。ちょっと複雑な仕組みなのでユーザーにはこの仕組みは見せず、ビルド時にこっそりコンパイルする事にしよう。
関係ないが、map の実装で引数のリストが一つしかないとき即座に map1 に分岐すると結構速い事が分かった。