1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
.../Memoization-1.0/README
The file Memoization-Overview.text contains a high level description of what
the automatic memoization facility does and how it can be applied. The file
Monterrey-Memoization.ps contains PostScript from a paper that is to appear
in the Sixth International Symposium on AI, Monterrey Mexico, September 1993.
All of the files are available via anonymous FTP from ftp.cs.umbc.edu
(130.85.100.53), in /pub/Memoization.
The automatic memoization facility consists of four files:
- Load-Memoization: Defines Memoization package and loads other 3
files
- Memoization: Defines core memoization routines.
- Save-Memo-Table: Defines routines to save and load hash table
associated with a memoized function.
- Memoization-Examples: Simplistic version of memoization to
illustrate the principle, and 2 example
functions to which memoization can be
applied.
To use it, change the variable *Memoization-Base-Directory* in
Load-Memoization.lisp, then load that file from LISP. This will load the
other 3 files, plus define a function called Memo::Compile-Memoization-System.
Call this function to compile the 3 latter files (Load-Memoization doesn't
get compiled). After the initial time, loading Load-Memoization is all that
is needed: the binaries will get loaded instead of the sources if they exist.
If you plan on saving and reloading hash tables that are saved to disk,
you must also change *Memo-Table-Base-Pathname*, and possibly
*Compiled-File-Extension* and *Source-File-Extension*. These are also
defined in the Load-Memoization.lisp file, with documentation on how
to change them.
This has been tested on the following Common LISP implementations:
o Symbolics Genera 8.1.1 and 8.3 (Ivory and G-Machine)
o Lucid Common LISP 4.0.2 and 4.1 (Sun SPARC)
o Harlequin Common LISP 3.0.3+ (Sun SPARC)
o DEC vaxlisp (VAX/Ultrix) [a CLtL/1 LISP]
o AKCL [another CLtL/1 LISP]
Marty Hall
hall@aplcenmp.apl.jhu.edu, (410) 792-6000 x3440
|