[r6rs-discuss] Question re trace
Andreas Rottmann
a.rottmann at gmx.at
Thu Sep 2 13:03:29 EDT 2010
Dave Penton <djp at arqux.com> writes:
> I don't know if this list is an appropriate spot to ask a beginner's
> question. If not, send me to the right place please. I don't see a
> search function on the list archives, so I'll just ask:
>
> What is the status of "trace" in R6RS?
>
> I am using the Dybvig book on Scheme to learn, having started last
> year with Common Lisp. I need to know Scheme for some work pertaining
> to current topics in my grad program.
>
> The Dybvig book refers to the trace function without further
> explanation. Is this part of the language? I don't see any mention of
> it in docs on the R6RS website.
>
No, `trace' is not part of R6RS, but most Scheme implementations provide
some facility along its lines.
> I can use trace in Chez Scheme, but not for example in Racket (with
> language set to R6RS).
>
In Racket, you should be able to use `trace' from the `racket/trace'
module, which you can import as follows in R6RS programs:
#!r6rs
(import (rnrs)
(racket trace))
(define (f x)
(if (zero? x)
0
(+ 1 (f (- x 1)))))
(trace f)
(display (f 10))
(newline)
;;-- EOF --
Ikarus, to give another example, has `trace-define' and `trace-lambda',
which work a bit differently.
> I don't know how to find out why this might be so, what the status of
> trace is in the language, etc.
>
My guess is that it's not standardized since it's a debugging aid, which
will not be used in "regular" code, but just during development.
Regards, Rotty
--
Andreas Rottmann -- <http://rotty.yi.org/>
More information about the r6rs-discuss
mailing list