ソースコードからドキュメント(関数仕様)を生成する


Tag: 【募集中】

documentation, describe関数を使う

単にドキュメントを見るにはdocumentationを使います。 同じ名前のシンボルに変数と関数がありうるのでタイプを指定する必要があります。

(documentation 'print 'variable)
;=>NIL
(documentation 'print 'function)
;->"Output a newline, the mostly READable printed representation of OBJECT, and
  space to the specified STREAM."

もう少し詳しく引数などの情報を得るにはdescribeを使います。

(describe 'print)
;->COMMON-LISP:PRINT
  [symbol]

PRINT names a compiled function:
  Lambda-list: (OBJECT &OPTIONAL STREAM)
  Declared type: (FUNCTION (T &OPTIONAL (OR STREAM (MEMBER NIL T)))
                  (VALUES T &OPTIONAL))
  Derived type: (FUNCTION (T &OPTIONAL T) (VALUES T &OPTIONAL))
  Documentation:
    Output a newline, the mostly READable printed representation of OBJECT, and
      space to the specified STREAM.
  Known attributes: call, unwind, any, explicit-check
  Source file: SYS:SRC;CODE;PRINT.LISP
=>; No value

ドキュメンテーションライブラリを使う

manifest

CLiki:manifestはインストールされてるパッケージ(?)のドキュメントを見れるサーバーを立ち上げます。

(manifest:start)
;=>"http://localhost:4567/"

http://localhost:4567/quicklisp でquicklispの管理もできます。

cl-api

CLiki:cl-apiは指定したパッケージのAPIを作成してくれます。

(cl-api:api-gen :cl-user #p"~/Lisp/APIs/")
Generation complete: "~/Lisp/APIs/cl-user.html"
;=>NIL