traceなんていう便利コマンドがあるのですね。
(defun my-gcd (m n) (if (= (mod m n) 0) n (my-gcd n (mod m n))))
があったときに、Common Lispのプロンプトから以下のようにして使えます。
* (trace my-gcd) (MY-GCD) * (my-gcd 18 30) 0: (MY-GCD 18 30) 1: (MY-GCD 30 18) 2: (MY-GCD 18 12) 3: (MY-GCD 12 6) 3: MY-GCD returned 6 2: MY-GCD returned 6 1: MY-GCD returned 6 0: MY-GCD returned 6 6
あらステキ。再帰の深さも一目瞭然。
* (untrace my-gcd)
でトレース終了です。