Common Lisp 言語の実装である SBCL 2.3.9 のリリース

Common Lisp プログラミング言語の無料実装である SBCL 2.3.9 (Steel Bank Common Lisp) のリリースが公開されました。 プロジェクト コードは Common Lisp と C で書かれており、BSD ライセンスの下で配布されます。

新しいリリースでは:

  • DYNAMIC-EXTENT によるスタック割り当ては、初期バインディングだけでなく、変数が取り得るすべての値にも適用されるようになりました (たとえば、SETQ 経由)。 これにより、たとえば、反復を通じてスタック内の複雑な構造または再帰的な構造の構築を簡素化することができます。
  • SB-POSIX モジュールの一部のインターフェイスは仕様に準拠するように作られており、呼び出しによって errno が変更された場合に限り、C ライブラリからの NULL 結果はエラーとみなされます。 この場合、SYSCALL-ERROR 信号が生成されます。
  • SB-POSIX モジュールの DO-PASSWDS および DO-GROUPS マクロの動作が改善されました。 これらのマクロは、パスワードおよびグループ データベースを安全に操作できるように設計されています。
  • Darwin x86 および PowerPC プラットフォームのサポートが復元されました (Kirill A. Korinsky、Sergey Fedorov、barracuda156 ​​のおかげで)。
  • fixnum 値に小数値を乗算するときに誤った型推論が原因で発生する不正なコンパイルを修正しました。
  • 符号付きおよび符号なしの 64 ビット値をチェックするときに場合によっては発生するコンパイラ エラーを修正しました。
  • MAKE-ARRAY の ":INITIAL-CONTENTS" 引数が非シーケンス定数の場合のコンパイラ エラーを修正しました。
  • 「:TEST」または「:KEY」関数から false 値を返す場合に、畳み込み関数を特定のシーケンス定数にコンパイルする際のエラーを修正しました。
  • 非常に大きなシーケンス サイズを意味する引数を持つ配列関数またはシーケンスをコンパイルするときのバグを修正しました。
  • ADJUST-ARRAY から返された値が使用されていない場合に発生するコンパイラ エラーを修正しました。
  • 中間表現を通じて逆方向に伝播できる関数型の最適化されたコンパイラ推論。
  • LDB、LOGBITP、RATIO の型推論が改善されました。
  • 推移的な比較の多くの場合において、不必要な境界チェックを排除するために最適化が行われました。

出所: オープンネット.ru

コメントを追加します