(fast-alist-free alist) throws away the hash table associated with a fast alist.

This documentation topic relates to the experimental extension of ACL2 supporting hash cons, fast alists, and memoization; see hons-and-memoization.

Logically, this function is the identity; we leave it enabled and would think it odd to ever prove a theorem about it.

Under the hood, fast-alist-free removes the hash table associated with this alist, if one exists. This effectively converts the alist into an ordinary alist.

Also see fast-alist-free-on-exit.

Because there is no automatic mechanism for freeing the hash tables used in fast alists, to avoid memory leaks you should manually free any alists that will no longer be used. You may find fast-alist-summary useful in tracking down alists that were not properly freed.

It is safe to call fast-alist-free on any argument, including fast alists that have already been freed and objects which are not alists at all.