[r6rs-discuss] Question re trace
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:
(define (f x)
(if (zero? x)
(+ 1 (f (- x 1)))))
(display (f 10))
;;-- 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.
Andreas Rottmann -- <http://rotty.yi.org/>
More information about the r6rs-discuss