File: README

package info (click to toggle)
cl-memoization 20050302
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 324 kB
  • ctags: 50
  • sloc: lisp: 523; sh: 41; makefile: 39
file content (42 lines) | stat: -rw-r--r-- 2,110 bytes parent folder | download | duplicates (4)
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