0.2.7 リリース

R6RS scheme インタプリタ mosh 0.2.7をリリースしました。

(メインの開発者はid:higeponですが、僕がプラットフォームテストとリリース作業を担当しています。)
今回のリリースでは、多くのバグフィックスとともにインストールや動作の信頼性が向上しています。
moshをアップグレードする場合はホームディレクトリや/tmpに置かれている.moshディレクトリを削除してください。psyntax-moshのキャッシュはバージョン間では互換性がありません。

ライセンスに関する変更

moshはデフォルトでOpenSSLライブラリとリンクするようになりました。

API変更

(mosh ffi)のpointer-ref-とpointer-set-のAPIが変更されました。これらをbyte以外の幅で使用しているコードは変更する必要があります。
SRFI-19は2008-2009年のうるう秒を認識するようになりました。

インストールの変更

psyntax-moshはインストールしたユーザのコンパイルキャッシュを更新しなくなりました。
moshはlibtoolに依存しなくなりました。

新規ライブラリ

実験的な新規ライブラリ2つが追加されました。

  • (facebook) - Facebookアクセスライブラリ
  • (template) - ERB風のテンプレートライブラリ

nmosh専用のいくつかのライブラリが追加されました。これらのライブラリは現在のところFFIをサポートしたプラットフォームでしか動作しません。

  • (nmosh gc) - Full GCの発動(gcollect)
  • (nmosh weak-vectors) - Gauche互換のweak-vector手続き

新規プラットフォームサポート

サポートOSが追加されました。

NetBSDではgcc44を使用してコンパイルする必要があります。

削除されたプラットフォーム

  • CMake上のpsyntax-mosh
  • MSYSまたはCygwin上のMinGW autotoolsビルド

Win32ネイティブのnmoshをビルドするためにはCMakeを使用してください。ネイティブwin32上のpsyntax-moshはサポートされなくなりました。Cygwin上では使用できます。

バグフィックス

  • moshコア
  • R6RS
    • applyで評価される手続きが末尾コンテキストを保持していなかった。
    • set-port-position!がストリームの末尾にシークできない問題を修正
  • psyntax-mosh
  • nmosh
    • Win32ネイティブNmoshがディレクトリを削除できない問題を修正
    • nmoshを並列に実行した場合に不正なキャッシュが生成される問題を修正
  • SRFI
    • with-syntaxの動作をSRFI-93からR6RS準拠のものに変更
    • SRFI-1のdelete-duplicatesが1引数で動作しない問題を修正
    • SRFI-19実装は2008年から2009年のあいだに挿入された閏秒を認識するようになった。
    • SRFI-26のcutとcuteが可変長引数を処理できない問題を修正。
    • SRFI-42のstring-ec、vector-of-length-ec、min-ecが正常にexportされていない問題を修正。
  • その他ライブラリ
    • matchが特定のパタンをマッチできない問題を修正

その他の変更

  • REPLはSRFI-38形式で値を表示するようになった
  • Nmoshのlibrary-path手続きがpsyntax-moshのものと互換になった
  • psyntax-moshに実装されているparameterizeがSRFI-39互換となった
  • Nmoshのエラー表示がカラー化された。(NMOSH_CLICOLOR環境変数をenableに設定する)