|
|
1.1 ! root 1: ReadMe file for the distribution of the Franz implementation of PEARL. ! 2: 8/9/83 by Joe Faletti ! 3: ! 4: PEARL is an AI programming language implemented on top of Franz Lisp ! 5: by Joseph Faletti and Michael Deering under the direction of Robert ! 6: Wilensky at the Berkeley AI Research Project (BAIR). ! 7: ! 8: DOCUMENTATION ! 9: For more information on PEARL's capabilities, see the following: ! 10: ! 11: [1] Deering, M., Faletti, J., and Wilensky, R. 1981. PEARL: An Efficient ! 12: Language for Artificial Intelligence Programming. In the Proceedings ! 13: of the Seventh International Joint Conference on Artificial Intelligence. ! 14: Vancouver, British Columbia. August, 1981. ! 15: ! 16: [2] Deering, M., Faletti, J., and Wilensky, R. 1982. The PEARL Users Manual. ! 17: Berkeley Electronic Research Laboratory Memorandum No. ! 18: UCB/ERL/M82/19. March, 1982. ! 19: ! 20: [3] Faletti, J., and Wilensky, R. 1982. The Implementation of PEARL. ! 21: Unpublished memo. ! 22: ! 23: The last two are included in vtroff source form in this distribution ! 24: but the page numbers of [2] may be off by a bit (sorry! -- if someone ! 25: bothers to convert the manual for automatic table of contents and ! 26: index generation, we'd be happy to use it!). (More below). ! 27: ! 28: The manual [2] may be printed and distributed to users with no fear ! 29: of copyright infringement. However, for those without suitable printing ! 30: facilities, a single photocopy of the manual suitable for auto-feed copying ! 31: for local distribution of the manual may be acquired from: ! 32: Berkeley AI Research Project ! 33: Robert Wilensky, Director ! 34: Computer Science Division ! 35: 553 Evans Hall ! 36: University of California, Berkeley ! 37: Berkeley, CA 94720 ! 38: This version will include an addendum summarizing the changes ! 39: described in the file ChangeLog. ! 40: ! 41: BUG REPORTS: ! 42: Bug reports should be mailed to Pearl-Bugs@Berkeley by ARPANET or ! 43: ucbvax!pearl-bugs by USENET. PEARL is being provided as is for the ! 44: cost of distribution with Franz and as such carries no warranty or ! 45: guarantee. ! 46: ! 47: CONTENTS OF THIS DIRECTORY: ! 48: The files in this directory fall into two categories: A) the source and ! 49: make file for building a version of PEARL in Franz and B) documentation. ! 50: ! 51: A) Source and make file for building a version of PEARL in Franz. ! 52: These files are described briefly after the following description of ! 53: how to make a version of PEARL. ! 54: ! 55: To Make PEARL: ! 56: A version of PEARL may be made by changing to this directory and ! 57: executing a "make pearl". As delivered, this makes "small" which compiles ! 58: PEARL in two pieces, and builds "pearl.o" (which loads the two pieces ! 59: into a lisp) and then executes the "savepearl" function which dumps a ! 60: lisp called "pearl" in the current directory containing all of PEARL ! 61: with the PEARL top level installed and ready to start up from scratch. ! 62: This form is necessary on machines with less than about 2.5Mb of memory. ! 63: If your installation is larger, you can change "pearl" to make "big" ! 64: instead of "small" and change "install" to make "biginstall" instead ! 65: of "smallinstall". This will compile PEARL in one piece, creating ! 66: "pearl.o" simply by compiling the file "pearl.l" which "includes" all ! 67: the other source files described below. ! 68: Making PEARL from scratch takes about 13 minutes of CPU time, or about ! 69: 15 minutes of real time (times the load average) on a VAX 780. ! 70: To install the executable pearl in the usual object directory, ! 71: /usr/ucb, and the load module pearl.o in the Franz library /usr/lib/lisp, ! 72: execute a "make install". If you change where the library is you must ! 73: also change the absolute path names in the file "pearllib.l" (which is used ! 74: in a "make small" to make it easy to load the two halves of PEARL with a ! 75: single file). ! 76: ! 77: The Source for PEARL: ! 78: The source for PEARL is described below in the order that it is ! 79: included in "pearl.l". ! 80: ! 81: ucisubset.l --- PEARL was originally implemented in UCILisp. This file ! 82: defines those functions from UCILisp still used in PEARL. ! 83: franz.l --- Franz version of functions that are likely to need ! 84: to be redefined for a particular lisp. ! 85: lowlevel.l --- Lowest level functions (mostly macros) in PEARL ! 86: used to access the various data structures. ! 87: db.l --- Functions for creating databases. ! 88: vars.l --- Functions to handle pattern-matching variables. ! 89: symord.l --- Functions for creating symbols and ordinals. ! 90: hook.l --- Functions used by everything else to handle hooks (demons). ! 91: create.l --- Functions to create PEARL structures. ! 92: scopy.l --- Functions to copy PEARL structures. ! 93: path.l --- The PATH function. ! 94: print.l --- Functions to print PEARL objects. ! 95: hash.l --- Functions using hashing info in structures to insert and ! 96: fetch from data bases. ! 97: match.l --- Functions to match and/or compare structures. ! 98: history.l --- Functions used to implement the history mechanism in the ! 99: toplevel loop. ! 100: toplevel.l --- Variation on the Franz toplevel loop for PEARL, ! 101: including functions for dumping various versions of a running PEARL. ! 102: fix.l --- Variation on the "fixit" debugger adapted for PEARL. ! 103: alias.l --- Code to save various functions under alternative names. ! 104: inits.l --- Code which must run at load time to initialize a PEARL ! 105: environment. ! 106: ! 107: Documentation included in this directory: ! 108: ! 109: manual.ms --- The -ms source of the PEARL manual as published in the ! 110: reference [2] above. This should be vtroffable to produce a copy ! 111: of the PEARL manual, although the page numbers were done by hand ! 112: and thus may be off by a bit if anything is changed. It may also ! 113: be nroffed, although the page numbers will most certainly be off. ! 114: update.ms --- The -ms source for an update to the manual covering PEARL ! 115: up through Version 3.9 paginated for appending to the manual. ! 116: ChangeLog --- A listing in reverse date order of things changed in ! 117: PEARL since the manual was published. ! 118: template --- Visual representation of the allocation of information in ! 119: the hunks used by PEARL for various internal data structures. ! 120: implement.ms --- An unfinished memo on the implementation of PEARL. ! 121: Includes a simple example of how to implement forward and backward ! 122: chaining in PEARL and a bit more detail on the hashing mechanism. ! 123: ltags --- A tags file for the various function and macro definition ! 124: mechanisms used in PEARL (more than standard Franz). ! 125: ptags --- A tags file for files which contain mixed Lisp functions and ! 126: PEARL structure definitions. ! 127:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.