[plt-scheme] transformers after expansion no longer needed

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Wed Jul 16 07:57:46 EDT 2008

At Wed, 16 Jul 2008 12:55:49 +0200, "Jos Koot" wrote:
> When running a module in DrScheme, the transformers used during expansion 
> cannot be discarded, because they may be used in the interactions window. 
> However, in many cases I no longer need the transformers after expansion. Is 
> there a way to make them garbage collectable as soon as expansion is
> completed?

No, there's not currently a way to do that. I think we'd have to add a
"no REPL" option in DrScheme.

> How is this in a stand alone compiled module? It does not have to save the 
> transformers for the interactions window, for there is none. What happens in 
> this case with the transformers after expansion?

When you run with the (perhaps implicit) `-u' command-line flag, then
it corresponds to `require', so the module's compile-time part is run
in that case, too.

But when you use `dynamic-require', then the compile-time part of a
module is not run. That is, the module is only invoked, and not
visited.

With that in mind, maybe we should change `-u' to mean
`dynamic-require' instead of `require'.


Matthew



Posted on the users mailing list.