racket/pkgs/racket-doc/scribblings
Matthew Flatt 3eef017911 track whether a closure uses syntax objects
For GC purposes, if a "prefix" (a closure frame that caprues
top-level or module-level bindings) may refer to syntax objects
that are not used by any reachable closure, in which case the
syntax object can be dropped. This pruning of syntax objects
uses the infrastructure already in place to prune variables.

Syntax objects were not included in the original pruning
implementation, because they are unlikely to create
finalization cycles in the way that global-variable
references can. A syntax object can retain a namespace's
table of module imports, however, which can be substantial
and worth releasing of a closure is only held, say, for
a low-level finalization action.
2015-01-19 21:29:55 -07:00
..
foreign ffi/unsafe/nsstring docs: fix C type description 2015-01-02 18:44:05 -07:00
getting-started remove the "racket-pkgs" directory layer 2014-12-08 05:22:59 -07:00
guide remove the "racket-pkgs" directory layer 2014-12-08 05:22:59 -07:00
inside remove the "racket-pkgs" directory layer 2014-12-08 05:22:59 -07:00
more remove the "racket-pkgs" directory layer 2014-12-08 05:22:59 -07:00
raco track whether a closure uses syntax objects 2015-01-19 21:29:55 -07:00
reference Add documentation for async-channel contracts and impersonators 2015-01-19 19:58:51 -06:00
scheme remove the "racket-pkgs" directory layer 2014-12-08 05:22:59 -07:00
style remove the "racket-pkgs" directory layer 2014-12-08 05:22:59 -07:00
finger.png remove the "racket-pkgs" directory layer 2014-12-08 05:22:59 -07:00
icons.css remove the "racket-pkgs" directory layer 2014-12-08 05:22:59 -07:00
icons.rkt remove the "racket-pkgs" directory layer 2014-12-08 05:22:59 -07:00
icons.tex remove the "racket-pkgs" directory layer 2014-12-08 05:22:59 -07:00
info.rkt remove the "racket-pkgs" directory layer 2014-12-08 05:22:59 -07:00
magnify.png remove the "racket-pkgs" directory layer 2014-12-08 05:22:59 -07:00