Mosh 0.0.7 をリリースしました
Mosh 0.0.7 をリリースしました。
R6RS のUnicode, Bytevector, Sorting などが実装されました。
Mosh の起動速度や g++ でのコンパイル速度が大幅に向上しました。
また以前から -b オプションでサポートされていた R6RS モードがデフォルトとなり -b オプションは廃止されました。
今後 Mosh は起動時から R6RS モードとなります。
追加、変更点の詳細は以下の通りです。
ライブラリシステム
ライブラリの load path の仕組みが実装され、デフォルトでは ./lib や /usr/local/share/mosh/lib などが対象となります。
またライブラリの serialization を実験的にサポートしました。
scripts/pre-compile-r6rs.scm でライブラリの serialization が可能です。
R6RS Bytevector
Scheme からバイト列を扱う Bytevector の手続きの多くが実装されました。
バイト列からエンディアンやサイズを指定してデータを取り出したり、格納したりといったことが可能です。
SRFI-8 と SRFI-98 のサポート
SRFI-97 で提案されているように以下のような形式で SRFI ライブラリのロードが出来るようになりました。
mosh>(import (srfi :98)) #<unspecified> mosh>(get-environment-variable "HOME") "/Users/taro"
スタックオーバーフロー時のスタック自動伸長
再帰などでスタックオーバーフローした場合に、ヒープが許す限りスタックが自動で伸長されるようになりました。
Read の全面書き換え
多彩な数値表現のパースを見据えて、read が完全に書き換えられました。
以前は Gauche の read.c をベースにしていましたが、bison/re2c ベースに変更となりました。
read 速度も向上しています。
psyntax の最新化
psyntax ライブラリが最新版に置き換えられました。
謝辞
今回のリリースまでに多くの方のアドバイス、不具合報告をいただきました。
みなさんありがとうございました。
不具合報告
不具合報告までお願いします。
もし面倒であれば、ここのコメント欄に書いていただくのでもかまいません。