元のリンク: https://norvig.com/luv-slides.ps
3. 標準に近いツールを使用する
一部の機能は言語に組み込まれていませんが、ほとんどのプログラマーによって使用されています。これは、言語の拡張機能とプログラムの開発に役立つツールに分かれています。
拡大する
- defsystem はプログラムを定義するために使用されます
- CLIM や CLX などのグラフィカル ライブラリ
道具
- FSF の emacs、Lucid
インデント、フォント/色のサポート
定義/パラメータ リスト/ドキュメント/通常の検索< a i= 3> Lisp との対話 - CMU からの外部参照、マニュアルなど
- ベンダーのブラウザ、デバッガ、アナライザ
デフシステム
defsystem のパブリック ドメイン バージョンを選択してください (残念ながら、dpANS CL の標準はありません)。
- 絶対パス名は 1 か所にのみ配置されます
- defsystem を使用してすべてをロードします
- コンパイルとロードを区別する
- 選択的にバージョン管理を行う
(defpackage "PARSER" ...)
(defsystem parser
(:source "/lab/indexing/parser/*")
(:parts utilities "macros" "grammar" "tokenizer"
"optimizer" "debugger" "toplevel"
#+CLIM "clim-graphics" #+CLX "clx-graphics"))
- システムがコンパイラ警告なしで読み込まれることを確認します
(初回とその後数回)
(使い方を学ぶ < a i=3>)(declare (ignore ...))
- システムを最初からコンパイルできるようにします
(長引く起動の問題を排除します)
エディターのコマンド
エディターは次のことができる必要があります。
- S式で移動し、一致する親を表示します
- コードを適切にインデントする
- アンバランスなブラケットを探しています
- フォントと色でコードを装飾する
- 任意のシンボルの定義を検索する
- 任意のシンボルのパラメータとドキュメントを検索します
- マクロはあらゆる式を展開します
- 現在の式、範囲、またはファイルを評価またはコンパイルのために Lisp に送信します
- Lisp に送信されたコマンドの履歴を保存し、編集して再送信できるようにします。
- キーボード、マウス、メニューの使用
Emacs はこれらすべてを行うことができます。エディタが動作しない場合は、修正されるまで文句を言うか、新しいエディタを入手してください。
Emacs: インデントとコメント
インデントしないでください。
代わりに、編集者にこれを行わせます。
ほぼ標準的な形式が開発されました。
- 最大幅80列
- コメント規則に従います
;
インライン コメントの場合
;;
関数内コメントの場合
;;;
関数間コメントの場合< /span>
;;;;
段落ヘッダー (アウトライン モードの場合) cl-indent
ライブラリはインデントの方法を設定できます
(put 'defvar 'common-lisp-indent-function '(4 2 2))
lemacs
利用可能なフォントと色
(hilit::modes-list-update "Lisp"
'((";;.*" nil hilit2) ...))