For efficiency, Common Dylan adopts a slightly different table protocol to that described by the DRM. Hashing functions take an additional hash-state argument and merge it into the hash-state result. The function merge-hash-codes is replaced by merge-hash-ids because hash-states are merged as part of the hashing process. The constant $permanent-hash-state is no longer required; the same effect can be achieved by returning the argument hash-state unchanged as the result hash-state. Finally, object-hash has been altered to use the new protocol.
This section describes the items that have been changed. We also provide a Table-extensions module, which you can read about in Chapter 3.