memo function (programming) (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 <[email protected]> ftp://archive.cs.umbc.edu/pub/Memoization. ["'Memo' functions: and machine learning", Donald Michie, Nature, 218, 19-22, 1968]. Last updated: 2002-07-02