« 2008年08月 | メイン | 2008年11月 »

2008年10月 アーカイブ

2008年10月31日

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 Unicode


UTF8/UTF16/UTF32 の取り扱いや、文字列の比較、正規化、upcase など種々の Unicode 手続きが実装されました。



R6RS Bytevector


Scheme からバイト列を扱う Bytevector の手続きの多くが実装されました。

バイト列からエンディアンやサイズを指定してデータを取り出したり、格納したりといったことが可能です。


SRFI-8 と SRFI-98 のサポート


SRFI-97 で提案されているように以下のような形式で SRFI ライブラリのロードが出来るようになりました。


  mosh>(import (srfi :98))

#<unspecified>
mosh>(get-environment-variable "HOME")
"/Users/taro"

R6RS REPL

R6RS の REPL が追加されました。 mosh で起動します。


(import ...) なども利用できます。


なお現時点での制限として入力は必ず一行単位でパースされます。


スタックオーバーフロー時のスタック自動伸長


再帰などでスタックオーバーフローした場合に、ヒープが許す限りスタックが自動で伸長されるようになりました。


Fasl のサポート

Fasl (Fast loading)のサポートにより



  • 起動速度の向上

  • g++ での Mosh のコンパイルの速度向上、省メモリ


が実現されました。

Read の全面書き換え


多彩な数値表現のパースを見据えて、read が完全に書き換えられました。


以前は Gauche の read.c をベースにしていましたが、bison/re2c ベースに変更となりました。


read 速度も向上しています。


psyntax の最新化

psyntax ライブラリが最新版に置き換えられました。


ビルド時の Gauche 依存がなくなりました


リリース版ではビルド時に Gauche が不要になりました。


謝辞


今回のリリースまでに多くの方のアドバイス、不具合報告をいただきました。

みなさんありがとうございました。


不具合報告


不具合報告までお願いします。


もし面倒であれば、ここのコメント欄に書いていただくのでもかまいません。

About 2008年10月

2008年10月にブログ「higepon @ cybozu labs」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2008年08月です。

次のアーカイブは2008年11月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。