C や C++ から Common Lisp に移って (2015年9月版)

なんか細々と思ったこととか

Emacs

EmacsCommon Lispを扱う場合にSlimeを使っているが、Slime以外にもプラグインは存在するため、Web上で見つけたEmacsCommon Lisp情報がそのまま利用できるのか、Slime向けに別の方法があるのか判断を要する。

デバッガ

Common Lispは規格としてデバッガを持っている。 処理系付属のデバッガ以外にもEmacsプラグインであるSLIMEに、似て非なる独自のデバッガがある。 SLIMEのデバッガは単なる処理系付属のデバッガ出力をそのまま表示しているだけでなく、機能拡張が色々されているので便利。

パッケージのパラメータ変更

Common Lispではsetfが変数への代入に相当するが、各種パッケージのパラメータ変更にこれを使い、グローバル変数への代入する(ように表面上見える)。 コワイ

(setf prove:*default-reporter* :dot)

実際には何らかの関数呼び出しが裏に入ってたりするので、見た目からは単純な代入なのかはよく分からない。