〈関数〉 にトレース属性を付ける. トレース属性の付いた関数が呼び出されると, 呼び出し時に関数名と引数が, 実行終了時には関数名と返り値が, いずれも呼び出しの深さに応じて字下げして表示される. traceの返す値は #tである.
例:
> (define (append2 x y)
(if (null? x)
y
(cons (car x)
(append2 (cdr x) y))))
append2
> (append2 '(a b) '(c d))
(a b c d)
> (trace append2)
#t
> (append2 '(a b) '(c d))
1>(append2 (a b) (c d))
2>(append2 (b) (c d))
|3>(append2 () (c d))
|3<(append2 (c d))
2<(append2 (b c d))
1<(append2 (a b c d))
(a b c d)
〈関数〉
〈関数
〉のトレース属性をはずす. 無引数で呼び出された場合はすべてのトレース属性の付いた関数の トレース属性をはずす. 返す値は #tである.
traceの表示を制御する. この変数の値以上にトレース・レベルが深くなればトレースをしない. 値が*trace-indent-length* 【変数】以下の場合はすべてのレベルでトレースする. 初期値は
である.
traceの表示を制御する. トレース・レベルごとの字下げのスペースの数を指定する. 初期値は*trace-indent-rate* 【変数】である.
traceの表示を制御する. トレース・レベルがいくつ深くなるごとに字下げを行なうかを指定する. 初期値は*max-trace-indent-length* 【変数】である.
traceの表示を制御する. 字下げの最大の長さを指定する. 初期値は*trace-level-bar-rate* 【変数】である.
traceの表示を制御する. レベルの対応を示す線をトレースの何レベルごとに書くかを指定する. 初期値は*trace-level-bar* 【変数】である.
traceの表示を制御する.
レベルの対応を示す線を表す文字を指定する.
デフォルトの文字は`` #\
|''である.