[plt-scheme] #%app and tail recursion

From: Anton van Straaten (anton at appsolutions.com)
Date: Thu Jul 17 11:41:32 EDT 2003

> > You wouldn't be implementing a debugger, would you?
> Actually I'm porting Envdraw to DrScheme. Envdraw draws environment
> diagrams a la SICP. With #%app et al I might be able to throw out the
> meta-circular evaluator that Envdraw uses.

Maybe I'm overly optimistic, but having briefly looked at the docs for
EnvDraw, it looks to me as though integrated with PLT Scheme, without a
meta-circular evaluator, it could be quite a useful debugging tool.

Quoting (heavily edited) from
http://www.xcf.berkeley.edu/~jmacd/envdraw/node3.html :

"It will bring up a top-level window with a global environment frame placed
in the center[, which contains] 5 buttons labeled step, continue, stepping,
colors, and exit. ... The step and continue buttons will step the evaluator
through evaluation.  ... everything you evaluate is traced and drawn. ... If
stepping is enabled, it will pause at each call to apply, announcing whether
a primitive (or any underlying applicable object) is being applied or
whether a lambda expression ... is being applied.  Environment diagrams are
drawn just as in SICP.  Environment frames, procedures, and list structures
which have become garbage will be marked as such."


Posted on the users mailing list.