2

javadoc、man、またはインテリセンスのようなポップアップのような一般的な Lisp ドキュメントはありますか? Common Lisp の学習を始めたばかりで、十分なハンド メモリがありません。

私は emacs と slime を使用しています — タブ補完がありますが、あまり有益ではないようです。

ありがとう!

4

2 に答える 2

2

参考までに、この質問は参考文献がどこにあるかを尋ねるものでした - オンラインで入手できるハイパースペックがいくつかあります。Google で「hyperspec function-name」などを検索すると、そのうちの 1 つにたどり着く可能性が高くなります。

http://clhs.lisp.se/Front/index.htm

http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/FrontMatter/index.html

例えば。

エディターによっては、通常、ハイパースペックのコンテンツも表示するように構成できます。EmacsでSLIMEを使用すると、次のことができますM-x slime-hyperspec-lookup RET symbol-to-look-for

もう 1 つの便利なツールはapropos、実行(apropos "substring-in-the-symbol-name")すると、「シンボル名の部分文字列」に一致するすべてのシンボルのリストを取得することです。

SLIME 自体は優れたオートコンプリートを提供します。つまずくかもしれないのは、システムが Emacs にディスパッチしないもの (M-TAB など) にデフォルトのキーがバインドされている可能性があることです。

(define-key lisp-mode-map (kbd "C-x .")
  'slime-complete-symbol)
(define-key lisp-mode-map (kbd "C-x /")
  'slime-complete-form)
(define-key lisp-mode-map (kbd "C-x ,")
  'slime-fuzzy-complete-symbol)

その上、Emacs はそれ自体で「字句」補完を提供します - M-/ を押すと、単語を同じ接尾辞を持つ単語に補完しようとします - 特に長い変数/関数名を入力しなければならない場合、驚くほどうまく機能します:)

また、SLIME はととにバインドC-c C-d fします。slime-describe-function-at-pointC-c C-d dslime-describe-symbol-at-pointC-c C-v dslime-describe-presentation-at-point

その上... かなりの時間を経て私に啓示として来たもの...エラースタックトレースを含むバッファ内でRETを押すと、スタックエントリをポイントすると、ローカル変数の値が内部に表示されますそのスタック レベルで機能します。ポイントがこれらの変数のいずれかにあるときに RET を押すと、その変数を説明するバッファが開きます。

于 2012-06-25T17:50:04.810 に答える
1

パッケージベースのドキュメントについては、マニフェストを調べてください。Common Lisp は動的システムとして使用することを意図しており、オプションの docstring スロットをすべての宣言プリミティブに組み込んでいることに注意してください。私の知る限り、特定の関数に関するドキュメントを取得する標準的な方法は(describe #'function-name-here)、 repl で実行することです(#シンボルに関するドキュメントを探している場合は、なしで)。

これにより、docstring と引数リストにアクセスできるようになります (メソッドの場合は、一般的な関数のドキュメントと特定のメソッドのコンパイルを取得します)。

autocomplete-modeを調べて、おそらくyasnippetで補完を調べてください。

于 2012-06-25T16:54:53.050 に答える