今回のリリースではコンパイラがさらに定数畳み込みを行うようになりました。また、定数畳み込みを補助する構文としてdefine-constantが正式にサポートされました。
またビルドの際に必要なライブラリがプラットフォームにインストールされていなかった場合、自動的にダウンロードするように改善されました。 ただし、MSVC環境以外ではテストがあまり行われていません。
修正された不具合
- get-bytevector-n!でcountパラメータがバイトベクターのサイズだった再に&assertionが投げられる不具合が修正されました。
- Windows版のmake-transcoderがEOLスタイルをlfとして作成する不具合が修正されました。
- ライブラリのrenameインポートの際に、renameされたものだけをインポートする不具合が修正されました。
- let*-valuesの右辺値に左辺値が含まれている際にコンパイラがエラーを報告する不具合が修正されました。
- delete-fileの挙動がR6RSのものと異なっていた不具合が修正されました。
- ライブラリ内インライン化の際にコンパイラが誤ってインライン可能フラグをつけていた不具合が修正されました。
- カスタムポートでclose引数を指定しても呼ばれていなかった不具合が修正されました。
- パターンマッチライブラリ(match)がAndrew Wright氏のものからAlex Shinn氏のものに変更されました。
- current-directoryがパラメータ化されました。(current-directory "somewhere")で(set-current-directory "somewhere")と同様の働きをします。これによって(srfi :39)にあるparameterizeとの親和性があがりました。
- ソケットライブラリ(sagittarius socket)からエクスポートされていた定数が、define-constantで定義されたものと同様の振る舞いをするように変更されました。
- Zlib圧縮ライブラリ(rfc zlib)が新たに追加されました。
- プログラム引数処理ライブラリ(srfi :37)が新たにサポートされました。
- ハッシュテーブルユーティリティ(util hashtables)が新たに追加されました。
個人的に割りといい感じになってきた感がある。正規表現でクラスのサポートをするために文字セットを組み込みにしないと。
No comments:
Post a Comment