SLOW-ALIST-WARNING.html -- ACL2 Version 6.3

## SLOW-ALIST-WARNING

warnings issued when `fast-alists` are used inefficiently

    Major Section:  HONS-AND-MEMOIZATION

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

Obtaining hash-table performance from `hons-get` requires one to follow a certain discipline. If this discipline is violated, you may see a "slow alist warning". This warning means that the alist you are extending or accessing does not have a valid hash table associated with it, and hence any accesses must be carried out with `hons-assoc-equal` instead of `gethash`.

You can control whether or not you get a warning and, if so, whether or not a break (an error from which you can continue) ensues. For instance:

     (set-slow-alist-action :warning)  ; warn on slow access (default)
     (set-slow-alist-action :break)    ; warn and also call break$
     (set-slow-alist-action nil)       ; do not warn or break

The above forms expand to `table` events, so they can be embedded in `encapsulate`s and books, wrapped in `local`, and so on.