(Or "memoised function") A function
that remembers which arguments
it has been called with and the result returned and, if called with the same arguments again, returns the result from its memory rather than recalculating it.
Memo functions were invented by Professor Donald Michie
of Edinburgh University
. The idea was further developed by Robin Popplestone
in his Pop2
language long before it was ever worked into LISP.
This same principle is found at the hardware level in computer architectures which use a cache
to store recently accessed memory locations.
A Common Lisp
package by Marty Hall firstname.lastname@example.org
["'Memo' functions: and machine learning", Donald Michie, Nature, 218, 19-22, 1968].