Skip to content
閲覧中:
sbcl

sbcl

SBCL(Steel Bank Common Lisp)は、Common Lisp処理系の中でも最速クラスのコンパイラを持ち、現在最も広く使われている「実戦向け」の処理系です。

学習や開発の際に手元に置いておきたい「あんちょこ(チートシート)」を整理しました。


1. ターミナルでの基本操作

Emacs(SLIME/Sly)を使わずに、直接ターミナルから操作する場合のコマンドです。

操作 コマンド / コード
起動 sbcl
終了 (quit) または (exit) または Ctrl+D
ファイルのロード (load "file.lisp")
コンパイルしてロード (compile-file "file.lisp")(load "file.fasl")
ヘルプ表示 (describe 'symbol-name)

2. SLIME (Emacs) での必須ショートカット

Emacsユーザーにとって、これこそが「最強」の操作パネルになります。

  • M-x slime: SLIMEの起動
  • C-c C-c: カーソル位置の関数(フォーム)をコンパイル&評価(最重要
  • C-c C-k: ファイル全体をコンパイル&ロード
  • C-c C-z: REPLバッファへ切り替え
  • M-.: シンボルの定義元へジャンプ
  • M-,: ジャンプ元に戻る
  • Tab: 補完

3. SBCL 特有の便利機能

実行可能バイナリの作成

書いたプログラムを、SBCLが入っていない環境でも動く「実行ファイル」として書き出す魔法の呪文です。

Common Lisp
(sb-ext:save-lisp-and-die "my-program"
                          :executable t
                          :toplevel 'main-function)

最適化のヒント

SBCLは、コードの先頭にこれを書くだけで「速度優先」か「デバッグ優先」かを切り替えられます。

Common Lisp
(declaim (optimize (speed 3) (safety 0))) ; 爆速モード
(declaim (optimize (debug 3)))           ; 丁寧なデバッグモード

4. 外部ライブラリ管理 (Quicklisp)

現代のLisp開発に欠かせない「あんちょこ」筆頭は Quicklisp です。

  • ライブラリを探す: (ql:system-apropos "ライブラリ名")
  • インストール/ロード: (ql:quickload :alexandria)
  • Quicklisp自体の更新: (ql:update-all-dists)

5. おすすめのオンライン・チートシート

ブラウザのブックマークに入れておくべきサイトです。

  1. Common Lisp Quick Reference: PDF 2枚に全標準関数が凝縮されています。印刷して壁に貼るならこれです。
  2. CL-Cookbook (SBCL section): SBCL固有の細かい設定(コアダンプ、スクリプト実行など)が載っています。

次のステップ

SBCLをインストールしたら、まずは Quicklisp をセットアップすることをお勧めします。

curl でインストーラーを拾ってきて (ql:add-to-init-file) を実行するだけですが、その手順の詳細や、「SBCLで最初に書いてみるべき『Hello World』以上の練習コード」 が必要であれば準備しますがいかがでしょうか?