Major Section: HONS-AND-MEMOIZATION
(fast-alist-free-on-exit alist form) is the identity and returns
form. Also see fast-alist-free.
Under the hood, this essentially expands to:
(prog1 form (fast-alist-free alist))
In other words,
alist is not freed immediately, but instead remains a fast
alist until the form completes. This may be useful when you are writing code
that uses a fast alist but has many return points.
See also the macro
fast-alists-free-on-exit defined in the community book
"books/centaur/misc/hons-extra.lisp", which can be used to free several
The community book
"books/centaur/misc/hons-extra.lisp" extends the
(defined in the community book
"books/tools/bstar.lisp") with the
free-on-exit pattern binder. That is, after executing
(include-book "centaur/misc/hons-extra.lisp" :dir :system), the form
(b* (... ((free-on-exit a b c)) ...) ...)
c to be freed when the
b* completes, but they
remain fast alists until then.