lispデバッグ
2007/07/09
traceマクロ今日知りました。これがあれば、debug用にprintする必要はほとんど無かったです;;というか、知らなかったことが…汗)
実行のトレース
関数呼出しの様子をトレースしたい場合は trace マクロを用いる。例えば、
(trace fact)
とすると、関数 fact の呼出しとリターンの様子が引数と返り値も含めて表示される。トレースを止める際は、以下のように untrace を使う。
(untrace fact)
実行速度の計測
ある式を評価するのにかかる時間を計測することもできる。これには time マクロを用いる。例えば、
(time (fact 1000))
とすると、(fact 1000) を計算するのにかかった時間が表示され、最後に結果が表示される。(この場合、スクロールしないと普通には時間は見えない。)
http://www.sakalab.org/clisp/clisp.html