Association list

The association list provides a simple way of implementing this data type.

[3] For large lists, this may be much slower than the times that can be obtained by representing an associative array as a binary search tree or as a hash table.

Additionally, unless the list is regularly pruned to remove elements with duplicate keys, multiple values associated with the same key will increase the size of the list, and thus the time to search, without providing any compensatory advantage.

[4] In the early development of Lisp, association lists were used to resolve references to free variables in procedures.

[7] Many programming languages, including Lisp,[5] Scheme,[8] OCaml,[9] and Haskell[10] have functions for handling association lists in their standard libraries.