世界を動かす技術を、日本語で。

スティールバンクコモンリスプ バージョン 2.6.7

2026年7月29日原文(sbcl.org)

概要

  • SBCLの新バージョンは通常毎月末にリリース
  • 最新バージョンや過去のリリース情報はSourceforgeで確認可能
  • 各バージョンごとに新機能・修正・最適化・ドキュメント改善が記載
  • ARM64やAVX512など新しいプラットフォームや命令セットへの対応強化
  • ドキュメントやエラーハンドリングの改善も継続的に実施

SBCLリリースサイクルとバージョン管理

  • SBCL (Steel Bank Common Lisp)は、通常 毎月末 に新バージョンをリリース
  • 最新バージョンは SourceforgeのFile List で確認可能
  • 各リリースの新機能・修正内容は公式リリースノートで詳細に記載
  • バージョン番号は 2.6.7 などの形式で管理

バージョン2.6.7(2026-07-28)主な変更点

  • SB-MANUAL という新しいcontribモジュール追加
    • セクション定義のdocstringにSBCLマニュアルを格納し、インタラクティブに閲覧可能
    • SlimeのM-.MGL-PAX でのブラウズに対応
    • 外部サイト fixnum.com でPDFやHTML、Markdown形式のマニュアル提供
  • DOCUMENTATIONDOC-TYPE DECLARATION をサポート
  • SB-SIMDARM64 に対応、 AVX512命令 もX86-64でサポート
  • SIMD命令 のARM64/X86-64追加対応
  • SAP-REF-N のARM64での誤コンパイル修正
  • INTEGER-LENGTH をMIPS/LoongArchのプリミティブ型でループ無し実装
  • READ 時のREAD-SUPPRESS Tで不要な警告を出さないよう修正
  • CONCATENATE の条件付き非シーケンス引数での型エラー修正
  • (EQL <complex>) 型が型システムで数値扱いされるよう修正
  • LOG 関数でNaN入力時の処理改善
  • MULTIPLE-VALUE-CALL の誤コンパイル修正
  • 定数複素数 をローカル関数に渡す際の最適化
  • UTF-8変換 にSIMDルーチンを活用
  • COUNT のキーワード引数対応範囲拡大
  • SB-ALIEN:DEREF の冗長命令削除
  • コンパイラのスパースセット 実装のパフォーマンス改善
  • ドキュメント の誤字・レイアウト修正
  • SB-MANUAL:@FOREIGN-FUNCTION-INTERFACE で配列が行優先であることを明記
  • docstring がMarkdownサブセット準拠に
  • 宣言用の個別インデックス 追加

バージョン2.6.6(2026-06-28)主な変更点

  • FDEFINITIONSYMBOL-FUNCTION 同様、最外層ラッパーを返すよう変更
  • C文字列 の:EXTERNAL-FORMAT :ASCIIが非安全コードでバイト単位コピーに
  • PowerPC ELFv2 でのビルド修正
  • macOS 27 ARM64 でのstatic spaceアドレス移動
  • SB-THREAD:BARRIER のARM64向け最適化
  • MULTIPLE-VALUE-LIST のARM64でのコンパイラクラッシュ修正
  • TRACE で戻り値が印字不可の場合でも失敗しない
  • COERCE の型導出精度向上
  • AREF/ELT の戻り値型推論精度向上
  • UTF-8 C文字列 のエンコード/デコード高速化
  • (length (intersection a b)) で中間リストを生成しない
  • SB-INTROSPECT セクション追加、docstringやコメント改善
  • ユーザーマニュアル の誤字・レイアウト修正

バージョン2.6.5(2026-05-29)主な変更点

  • 未初期化スロットアクセス 時のシグナルがTYPE-ERRORでなくなる
  • リストを集合として扱う関数 の戻り値順序が任意に
  • PPC64/FreeBSD で浮動小数点状態操作をサポート
  • ARM64 での命令エミュレーション改善
  • musl Cライブラリ でのビルド復活
  • AVX2 でのSB-SIMDシフト命令修正
  • alien callback 定義ソースがSB-INTROSPECTで検索可能に
  • シンボル再起動 のパッケージ検索が非ローカルexitを実行
  • TYPEP の大規模数値型でのコンパイル速度向上
  • fill-pointer=1の任意長文字列 が文字指定子として認識
  • ADD-PACKAGE-LOCAL-NICKNAME のKEEP-OLD再起動動作修正
  • EXPORT でシンボル衝突時のTAKE-NEW再起動が新シンボルのshadowing-importを実行
  • SB-EVAL インタプリタの構文チェック強化
  • コンパイラのクロスリファレンスデータ の多重エントリ対応
  • TYPE-ERROR のDATUMがEXPECTED-TYPEでないケース増加
  • コードウォーカー がPROGNボディでスタック未使用に
  • INTERSECTION/UNION でハッシュテーブル活用による高速化

バージョン2.6.4(2026-04-29)主な変更点

  • DEFSETF が既存関数名使用時にSTYLE-WARNINGを出力
  • SB-EXT:PROCESS-KILL の:PTY-PROCESS-GROUPオプション削除
  • DEFSTRUCTの:INITIAL-OFFSET でNILが非許容に
  • 32bit Linux struct timeval の64bit time_t対応
  • main関数がweak symbol として定義
  • Windows でRUN-PROGRAMの空引数エスケープ対応
  • termios構造体 でI/O速度フィールド追加、OpenBSDクラッシュ修正
  • コンパイラの無限ループ 修正
  • FTYPE宣言済関数 でNULLと明示的型キーワード引数の混合防止
  • 未使用結果処理MAKE-ARRAYの無効次元 でのコンパイラエラー修正
  • linkage-table alienエントリ名 がbase-stringであることを保証
  • CHECK-TYPE展開 で内部オブジェクトを含めないよう修正
  • alien構造体値渡し で誤ったメモリアクセスを防止
  • EQUALP→EQUAL変換 で定数ドットリスト対応
  • 標準関数の型チェック 強化
  • LIST/APPEND/NCONC* で主値のみ返す
  • パス名パターン のエスケープ処理修正
  • 関数名ハッシュセット の衝突頻度低減
  • select() で全ファイルディスクリプタ対応
  • REPLACE最適化 がキーワード引数指定時にも適用
  • CONCATENATE でリスト→ベクタ結合高速化
  • ROUND の整数処理コンパクト化
  • TRUNCATE でLemire, Kaser, Kurz変換を64bit x86で実装

バージョン2.6.3(2026-03-29)主な変更点

  • (MAKE-ARRAY X :ELEMENT-TYPE 'UNDEFINED) でエラーを通知
  • ppcのdisassembler でMFLR/ISEL命令対応
  • Lisp Return Addressオブジェクト がPPC, SPARC, MIPS, ARMで不要に
  • embedcore-sbclビルド でinitファイル依存性削除
  • x86-64 でADCX/ADOX命令サポート
  • PPC64 で戻り値数のフラグ通知により関数呼び出し高速化
  • x86-64 でFFIのint128引数対応
  • OpenIndiana/Haiku x86-64 でのビルド修正
  • ガベージコレクタの安定性向上

このように、SBCLは毎月着実な機能追加・最適化・バグ修正・プラットフォーム対応拡大・ドキュメント改善を重ねている。最新情報や詳細は公式リリースノートを参照。

Hackerたちの意見

すごいセマンティックバージョニングの番号だね。

  • SB-SIMDの貢献がARM64をサポートするようになったよ。(シルビア・ハリントンに感謝) * AVX512命令がX86-64でサポートされるようになった。(ロバート・スミスとアーサー・ミラーに感謝) * ARM64とX86-64でのSIMD命令の追加サポート。(アーサー・ミラーに感謝) これらはかなり素晴らしい追加だね。SBCLでSIMDがどう機能するか知ってる人いる?これはコード生成のレイヤーでの話?つまり、自動ベクトル化とかできるのかな?それとも、明示的にリクエストしないといけないインストリンシックなの?

まだ自動ベクトル化はないけど、これが参考になるかもよ:https://www.stylewarning.com/posts/nbody

明示的に使ってるみたいだね? https://github.com/sbcl/sbcl/tree/master/contrib/sb-simd

プロジェクトがまだ元気に続いてるのを見るのはいいね。CLを試してみたいけど、いつも使い道が思いつかないんだよね。

最近はCLはほぼどこでも使えるよ、ECLのwasmコンパイルを使えばウェブ上でもね。

Common Lispで書かれた拡張可能なLLMエージェント(例えば、https://pi.dev/とか、もしかしたらhermesとか)は面白そうだね。条件や再起動、ライブシステムのデバッグや修理、速い起動、ネイティブ実行速度、コア機能をその場で追加・置き換え・変更できる能力、しっかりしたマルチスレッドサポート、ドキュメントを含む動的なイントロスペクション、CLOSやマルチディスパッチ、保存されたイメージなどがあるといいな。

偶然にLispにどっぷりハマっちゃってるんだけど、これについてもっと詳しく教えてくれる人いる?

チェンジログ以外での詳細が知りたいの?何が知りたいの?

これ、面白いかもね: https://news.ycombinator.com/item?id=43636230

(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((

もしSBCLの開発者がここにいたら、メモリアリーナ機能の使い方についてのドキュメントを追加してほしいな。今のところ、すごく古い提案書しかないから。

Hacker Newsで議論の続きを見る