AI Algorithms and Tools: PAIL (Portable AI Lab) is a computing environment containing a collection of state-of-the-art AI tools, examples, and documentation. It is aimed at those involved in teaching AI courses at university level or equivalent. The system has enough built-in functionality to enable its users to get practical experience with a broad range of AI problems without having to build all the supporting tools from scratch. It is implemented in Common Lisp and uses CLOS and Allegro Common Windows (i.e., in Allegro CL 4.1). It is available by anonymous ftp from pobox.cscs.ch:/pub/ai/ [148.187.10.13] Written by Mike Rosner and Dean Allemang {dean,mike}@idsia.ch. AI_ATTIC is an anonymous ftp collection of classic AI programs and other information maintained by the University of Texas at Austin. It includes Parry, Adventure, Shrdlu, Doctor, Eliza, Animals, Trek, Zork, Babbler, Jive, and some AI-related programming languages. This archive is available by anonymous ftp from ftp.cc.utexas.edu:/pub/AI_ATTIC/ [128.83.186.13] (AKA bongo.cc.utexas.edu). For more information, contact atticmaster@bongo.cc.utexas.edu. Analogical Reasoning: SME is the Structure-Mapping Engine, as described in Falkenhainer, Forbus, and Gentner's 1987 AIJ article. Available from multivac.ils.nwu.edu:/pub/SME For further information, contact Brian Falkenhainer <falkenhainer@parc.xerox.com> or Ken Forbus <forbus@ils.nwu.edu>. Benchmarks: Gabriel Lisp Benchmarks are available by anonymous ftp as ai.toronto.edu:/pub/gabriel-lisp-benchmarks.tar.Z. The benchmarks are described in the book "Performance Evaluation of Lisp Systems", by Richard Gabriel. Lucid CL contains a set of benchmarks in its goodies/ directory, including Bob Boyer's logic programming benchmark, a benchmark to create and browse through an AI-like database of units, a CLOS speed test, a compilation speed test, TAKR (the 100 function version of TAK that tries to defeat cache memory effects), CTAK (A version of the TAKeuchi function that uses the CATCH/THROW facility), STAK (A version of the TAKeuchi function with special variables instead of parameter passing), DERIV and DDERIV (Symbolic derivative benchmarks written by Vaughn Pratt), DESTRU (a destructive operation benchmark), DIV2 (a benchmark which divides by 2 using lists of n ()'s), the FFT benchmark written by Harry Barrow, FPRINT (a benchmark to print to a file), FRPOLY (a Franz Lisp benchmark by Fateman based on polynomial arithmentic), Forest Baskett's PUZZLE benchmark (originally written in Pascal), the TPRINT benchmark to read and print to the terminal, a benchmark that creates and traverses a tree structure, and TRIANG (board game benchmark). Some of the benchmarks may work only in Lucid. Blackboard Architectures: The UMass GBB system (V1.2) is available by anonymous ftp from ftp.cs.umass.edu:/gbb. The commercial GBB product is not. Work on the UMass GBB project (and funding) ended over 2 years ago. Many researchers using it have opted for the commercial release. The UMass research system remains available, but the two should not be confused as the commercial system is substantially improved and extended. The commercial system is available from Blackboard Technology Group, 401 Main Street, Amherst, Massachusetts 01002, telephone 800-KSS-8990 or 413-256-8990, fax 413-256-3179. For a tutorial on how to build a blackboard system, see the paper P. R. Kersten and Avi C. Kak, "A Tutorial on LISP Object-Oriented Programming for Blackboard Computation (Solving the Radar Tracking Problem)", International Journal of Intelligent Systems 8:617-669, 1993 Although samples of the code are given in the paper, the full source code is available in a separate technical report from the School of Electrical Engineering at Purdue University. If you are interested in getting a copy of the technical report, send mail to Avi Kak <kak@ecn.purdue.edu>. (The circumstances under which the software was developed prevent them from making the source code available by anonymous FTP. However, the full source code is printed in the technical report.) Case-based Reasoning: CL-Protos is a Common Lisp implementation of the case-based reasoning system developed by E. Ray Bareiss and Bruce W. Porter of the University of Texas/Austin AI Lab. It runs on Sun3, TI Explorer, HP 9000, and Symbolics, and gobbles a huge amount of memory. Common Lisp implementation by Rita Duran, Dan Dvorak, Jim Kroger, Hilel Swerdlin, and Ben Tso. For more information, bug reports, or comments, contact either Dan Dvorak <dvorak@cs.utexas.edu> or Ray Bareiss <bareiss@ils.nwu.edu> or Erik Eilerts <eilerts@cs.utexas.edu> Available by anonymous ftp from cs.utexas.edu:/pub/porter The complete code for "Inside Case-Based Reasoning" by Riesbeck and Schank, 1989, is available by anonymous ftp from cs.umd.edu:/pub/schank/icbr/ This includes code for an instructional version of CHEF by Kristian Hammond and MICRO-xxx. Contact Bill Andersen <waander@cs.umd.edu> for more information. CLOS Software: See question [5-6]. Constraint Programming and Non-determinism: SCREAMER: Screamer is an extension of Common Lisp that adds support for nondeterministic programming. Screamer consists of two levels. The basic nondeterministic level adds support for backtracking and undoable side effects. On top of this nondeterministic substrate, Screamer provides a comprehensive constraint programming language in which one can formulate and solve mixed systems of numeric and symbolic constraints. Together, these two levels augment Common Lisp with practically all of the functionality of both Prolog and constraint logic programming languages such as CHiP and CLP(R). Furthermore, Screamer is fully integrated with Common Lisp. Screamer programs can coexist and interoperate with other extensions to Common Lisp such as CLOS, CLIM and Iterate. In several ways Screamer is more efficient than other implementations of backtracking languages. First, Screamer code is transformed into Common Lisp which can be compiled by the underlying Common Lisp system. Many competing implementations of nondeterministic Lisp are interpreters and thus are far less efficient than Screamer. Second, the backtracking primitives require fairly low overhead in Screamer. Finally, this overhead to support backtracking is only paid for those portions of the program which use the backtracking primitives. Deterministic portions of user programs pass through the Screamer to Common Lisp transformation unchanged. Since in practise, only small portions of typical programs utilize the backtracking primitives, Screamer can produce more efficient code than compilers for languages in which backtracking is more pervasive. Screamer is fairly portable across most Common Lisp implementations. It currently runs under Genera 8.1.1 and 8.3 on both Symbolics 36xx and Ivory machines, under Lucid 4.0.2 and 4.1 on Sun SPARC machines, under MCL 2.0 and 2.0p2 on Apple Macintosh machines, and under Poplog Common Lisp on Sun SPARC machines. It should run under any implementation of Common Lisp which is compliant with CLtL2 and with minor revision could be made to run under implementations compliant with CLtL1 or dpANS. Screamer is available by anonymous FTP from ftp.ai.mit.edu:/pub/screamer.tar.Z Contact Jeffrey Mark Siskind <qobi@ai.mit.edu> for further information. Screamer is also available from the Common Lisp Repository. The Screamer Tool Repository, a collection of user-contributed Screamer code, is available by anonymous ftp from ftp.cis.upenn.edu:/pub/screamer-tools/ or by WWW from http://www.cis.upenn.edu/~screamer-tools/home.html Please direct all inquires about the repository to screamer-repository@cis.upenn.edu. Defeasible Reasoning: An implementation of J. Paris and A. Vencovska's model of belief is available by anonymous ftp from ftp.cs.cmu.edu:/user/ai/areas/reasonng/defeasbl/belief/ Paris and Vencovska's paper (Artificial Intelligence, 64(2), December 1993) provides a mathematical model of an agent's belief in an event by identifying it with his ability to imagine the event within the context of his previous experience. This approach leads to beliefs having properties different from those normally ascribed to it. The implementation was written by Ian Pratt <ipratt@cs.man.ac.uk> and Jens Doerpmund <dorpmunj@cs.man.ac.uk> and runs in Common Lisp. Eliza and Similar Programs: See Peter Norvig's book and AI_ATTIC (question [6-1] above). The doctor.el is an implementation of Eliza for GNU-Emacs emacs-lisp. Invoke it with "Meta-X doctor" muLISP-87 (a MSDOS Lisp sold by Soft Warehouse) includes a Lisp implementation of Eliza. Implementations of ELIZA for other languages are mentioned in the AI FAQ. The original Parry (in MLISP for a PDP-10) is available in labrea.stanford.edu:/pub/parry.tar.Z. Other programs, such as RACTER, are listed in part 4 of the AI FAQ. Expert Systems: FOCL is an expert system shell and machine learning program written in Common Lisp. The machine learning program extends Quinlan's FOIL program by containing a compatible explanation-based learning component. FOCL learns Horn Clause programs from examples and (optionally) background knowledge. The expert system includes a backward-chaining rule interpreter and a graphical interface to the rule and fact base. For details on FOCL, see: Pazzani, M. and Kibler, D., "The role of prior knowledge in inductive learning", Machine Learning 9:54-97, 1992. It is available by anonymous ftp from ics.uci.edu:/pub/machine-learning-programs/ as the files README.FOCL-1-2-3, FOCL-1-2-3.cpt.hqx (a binhexed, compacted Macintosh application), FOCL-1-2-3.tar.Z (Common Lisp source code), and FOCL-1-2-3-manual.hqx (binhexed manual). If you use a copy of FOCL, or have any comments or questions, send mail to pazzani@ics.uci.edu. BABYLON is a development environment for expert systems. It includes frames, constraints, a prolog-like logic formalism, and a description language for diagnostic applications. It is implemented in Common Lisp and has been ported to a wide range of hardware platforms. Available by anonymous ftp from ftp.gmd.de:/gmd/ai-research/Software/Babylon/ [129.26.8.84] as a BinHexed stuffit archive, on the Web via the URL http://www.gmd.de/ on the Apple CD-ROM, or with the book "The AI Workbench BABYLON", which contains *full source code* of BABYLON and the stand-alone version for the Mac. The book describes the use of BABYLON in detail. OPS5 is a public domain Common Lisp implementation of the OPS5 production system interpreter written by Charles Forgy. It is available from the CMU AI Repository in ftp.cs.cmu.edu:/user/ai/areas/expert/ops5/ and includes the original port by George Wood and Jim Kowalski (ops5orig.tar.gz), and a later port by Mark Kantrowitz (ops5.tar.gz). The latter has been tested under Allegro, Lucid, CMU CL, Ibuki CL and MCL. Frame Languages: FrameWork is a portable generic frame system available from the CMU AI Repository, in ftp.cs.cmu.edu:/user/ai/areas/kr/systems/frames/framewrk/ THEO (learning frame system) is available free from CMU, after signing a license agreement. Send mail to Tom.Mitchell@cs.cmu.edu. FrameKit is available free from CMU, after signing a license agreement. Send mail to Eric.Nyberg@cs.cmu.edu KR. Send mail to Brad.Myers@cs.cmu.edu for more info. PARKA. Frames for the CM. Contact spector@cs.umd.edu. PARMENIDES (Frulekit) is available free, after signing a license agreement. Send mail to peter.shell@cs.cmu.edu FROBS is available free by anonymous ftp from cs.utah.edu:/pub/frobs.tar.Z Contact Robert Kessler <kessler@cs.utah.edu> for more info. PFC is a simple frame system written by Tim Finin available free by anonymous ftp from linc.cis.upenn.edu. YAK is a hybrid knowledge-representation system of the KL-ONE family. Includes an optional graphical interface depending on the Lisp. Available free after signing a license agreement. Contact Enrico Franconi <franconi@irst.it>. Genetic Algorithms: GECO (Genetic Evolution through Combination of Objects) is a genetic algorithm shell written by George Williams, <george@hsvaic.boeing.com>. It is available by anonymous ftp from cambridge.apple.com:/pub/mcl2/contrib/ as the following files: GECO-v1.0.cpt.hqx binhex'd Compact Pro archive GECO-v1.0.tar.Z compressed tar file for Unix machines (no MCL fonts) GECO.abstract a brief description It runs in MCL 2.0, but should be portable among CLtL2 compliant Common Lisps. GAL is a genetic algorithm suite written by Bill Spears of NRL. The MCL2.0 port was done by Howard Oakley <howard@quercus.demon.co.uk> and is available from cambridge.apple.com:/pub/MCL2/contrib as GAL.sea.hqx. Improvements and adaptations should be sent to Bill Spears, but questions on the MCL port should be directed to Howard Oakley. Other genetic algorithms code is available ftp.aic.nrl.navy.mil:/pub/galist including Genesis (source-code/ga-source/genesis.tar.Z) and the archives of the GA-List mailing list. A survey of free and commercial genetic algorithms implementations is available in information/ga-software-survey.txt. Knowledge Representation: KNOWBEL is an implementation of Telos (a sorted/temporal logic system) by Bryan M. Kramer, <kramer@ai.toronto.edu>. It is available by anonymous ftp from ai.toronto.edu:/pub/kr/ as the files knowbel.tar.Z and manual.txt.tar.Z Runs in Allegro CL on Sparcstations and Silicon Graphics 4d and in MCL on Apple Macintoshes. SNePS (Semantic Network Processing System) is the implementation of a fully intensional theory of propositional knowledge representation and reasoning. SNePS includes a module for creating and accessing propositional semantic networks, path-based inference, node-based inference based on SWM (a relevance logic with quantification) that uses natural deduction and can deal with recursive rules, forward, backward and bi-directional inference, nonstandard logical connectives and quantifiers, an assumption based TMS for belief revision, a morphological analyzer and a generalized ATN (GATN) parser for parsing and generating natural language, SNePSLOG, a predicate-logic-style interface to SNePS, XGinseng, an X-based graphics interface for displaying, creating and editing SNePS networks, SNACTor, a preliminary version of the SNePS Acting component, and SNIP 2.2, a new implementation of the SNePS Inference Package that uses rule shadowing and knowledge migration to speed up inference. SNeRE (the SNePS Rational Engine), which is part of Deepak Kumar's dissertation about the integration of inference and acting, will replace the current implementation of SNACTor. SNePS is written in Common Lisp, and has been tested in Allegro CL 4.1, Lucid CL 4.0, TI Common Lisp, CLISP May-93, and CMU CL 17b. It should also run in Symbolics CL, AKCL 1.600 and higher, VAX Common Lisp, and MCL. The XGinseng interface is built on top of Garnet. SNePS 2.1 is free according to the GNU General Public License version 2. The SNePS distribution is available by anonymous ftp from ftp.cs.buffalo.edu:/pub/sneps/ [128.205.32.9] as the file rel-x-yyy.tar.Z, where 'x-yyy' is the version. The other files in the directory are included in the distribution; they are duplicated to let you get them without unpacking the full distribution if you just want the bibliography or manual. If you use SNePS, please send a short message to shapiro@cs.buffalo.edu and snwiz@cs.buffalo.edu. Please also let them know whether you'd like to be added to the SNUG (SNePS Users Group) mailing list. COLAB (COmpilation LABoratory) is a hybrid knowledge representation system emphasizing the horizontal and vertical compilation of knowledge bases. It is comprised of cooperating subsystems -- CONTAX, FORWARD, RELFUN and TAXON -- which deal with different knowledge representation and reasoning formalisms. Each subsystem can also be used as stand-alone system. CONTAX deals with constraint nets and constraint-propagation techniques. Relational knowledge in the form of Horn rules is processed by forward (FORWARD) and backward (RELFUN) chaining. Taxonomic knowledge is represented by intensional concept definitions which are automatically arranged in a subsumption hierarchy (TAXON). The COLAB software was developed at DFKI and the University of Kaiserslautern and runs in Common Lisp. (The subsystems have been tested in AKCL and Lucid CL, and possibly also Allegro CL and Symbolics CL.) All the subsystems are available free of charge for research purposes. o RELFUN is a logic-programming language with call-by-value (eager), non-deterministic, non-ground functions, and higher-order operations. It accepts freely interchangeable LISP-style and PROLOG-style syntaxes. For sources to RELFUN and copies of relevant papers, contact Dr. Harold Boley, DFKI, Postfach 2080, W-6750 Kaiserslautern, Germany, call +49-631-205-3459, fax +49-631-205-3210, or send email to boley@informatik.uni-kl.de. o TAXON is a terminological knowledge representation system extended by concrete domains. For sources to TAXON and copies of relevant papers, contact Philipp Hanschke, DFKI, Postfach 2080, W-6750 Kaiserslautern, Germany, call +49-631-205-3460, fax +49-631-205-3210, or send email to hanschke@dfki.uni-kl.de. o CONTAX is a constraint system for weighted constraints over hierarchically structured finite domains. CONTAX uses CLOS in addition to Common Lisp. For sources to CONTAX and copies of relevant papers, contact Manfred Meyer, DFKI, Postfach 2080, W-6750 Kaiserslautern, Germany, call +49-631-205-3468, fax +49-631-205-3210, or send email to meyer@dfki.uni-kl.de. o FORWARD is a logic programming language with bottom-up and top-down evaluation of Horn clauses. For sources to FORWARD and copies of relevant papers, contact Knut Hinkelmann, DFKI, Postfach 2080, W-6750 Kaiserslautern, Germany, call +49-631-205-3467, fax +49-631-205-3210, or send email to hinkelma@dfki.uni-kl.de. URANUS is a logic-based knowledge representation language. Uranus is an extension of Prolog written in Common Lisp and using the syntax of Lisp. Uranus extends Prolog with a multiple world mechanism for knowledge representation and term descriptions to provide functional programming within the framework of logic programming. It is available free by anonymous ftp from etlport.etl.go.jp:/pub/uranus/ftp/ [192.31.197.99] for research purposes only. For more information contact the author, Hideyuki Nakashima <nakashim@etl.go.jp>. Languages and Alternate Syntaxes: Generalized Lisp (or Glisp for short) is a coordinated set of high level syntaxes for Common Lisp. Initially GLisp consists of three dialects: Mlisp, Plisp and ordinary Lisp, together with an extensible framework for adding others. Mlisp (Meta-Lisp) is an Algol-like syntax for people who don't like writing parentheses. For example, one can write print("abc", stream) instead of (print "abc" stream). Plisp (Pattern Lisp) is a pattern matching rewrite-rule language. Plisp is a compiler-compiler; its rules are optimized for writing language translators. All dialects may be freely intermixed in a file. The translators for all dialects are written in Plisp, as is the Glisp translator framework itself. Support routines for the translators are written in Mlisp and/or Lisp. All dialects are translated to Common Lisp and execute in the standard Common Lisp environment. Glisp is available by anonymous ftp from apple.com or ftp.apple.com:/dts/mac/lisp/glisp.tar.Z GLISP runs in MCL and has to be modified for other Common Lisp implementations. CGOL is algol-like language that is translated into Lisp before execution. It was developed originally by Vaughn Pratt. A Common Lisp implementation of CGOL is available by anonymous ftp from peoplesparc.berkeley.edu:/pub/cgol.1.tar.Z [128.32.131.14] (The number "1" may increase if newer versions are posted.) It was written by a UC Berkeley graduate student, Tom Phelps, as a term project, so there may still be some rough edges. There is a lot of documentation in the distribution, including the "original" CGOL memo (pratt.memo). For more information, contact Richard Fateman <fateman@peoplesparc.berkeley.edu>. StarLisp Simulator. The StarLisp Simulator simulates *Lisp, one of the programming langauges used to program the Connection Machine. StarLisp runs under Symbolics, Lucid, Allegro, and Franz, and is available by anonymous ftp from think.com:/cm/starlisp/starsim-f19-sharfile The "CM5 *Lisp Tutorial" is available by anonymous ftp from arp.anu.edu.au:/ARP/papers/starlisp/ [150.203.20.2] in Andrew "ez" and postscript formats. Write to Zdzislaw Meglicki <Zdzislaw.Meglicki@cisr.anu.edu.au> for more information about the tutorial. InterLisp->Common-Lisp Translator -- ftp.ai.sri.com:/pub/pkarp/lisp/ilisp/ Other InterLisp to Common Lisp translators may be found in the LispUsers archive listed above. The Yale Haskell system runs in CMU Common Lisp, Lucid CL, and AKCL. It is available by anonymous ftp from Chalmers animal.cs.chalmers.se:/pub/haskell/yale/ [129.16.225.66] Glasgow ftp.dcs.glasgow.ac.uk:/pub/haskell/yale/ [130.209.240.50] Yale nebula.cs.yale.edu:/pub/haskell/yale/ [128.36.13.1] as the files haskell-beta-2-source.tar.Z -- full sources haskell-beta-2-sparc.tar.Z -- sparc executable Lisp Tools: See the Common Lisp Repository in [6-2]. The Automatic Memoization Facility adds a practical memoization facility to Common Lisp. Automatic memoization is a technique by which an existing function can be transformed into one that "remembers" previous arguments and their associated results, yielding large performance gains for certain types of applications. This facility extends the ideas from Norvig's book into what is needed for a practical tool for us in large programs. It adds facilities for bookkeeping and timing, and lets you evaluate of the timing advantages of memoization, and save hash tables to disk for automatic reuse in later sessions. The code is available by anonymous ftp from archive.cs.umbc.edu:/pub/Memoization [130.85.100.53]. Contact Marty Hall <hall@aplcenmp.apl.jhu.edu> for more information. The code includes an overview of memoization and its applications. PLisp - A Common Lisp front end to Postscript. This translates many Common Lisp functions to postscript as well as manage the environment and many lispisms (&optional and &rest arguments, multiple values, macros, ...). Available via anonymous ftp nebula.cs.yale.edu:/pub/plisp/plisp.tar.Z [128.36.13.1] Written by John Peterson <peterson-john@cs.yale.edu>. RegExp is an extension to Allegro Common Lisp which adds regular expression string matching, using the foreign function interface. Available by anonymous ftp from ftp.ai.sri.com:/pub/pkarp/regexp/. Contact pkarp@ai.sri.com for more information. ifi.informatik.uni-stuttgart.de:/pub/xit/cl-utilities/ contains three small utilities: completion.lisp A simple filename completion program. cl-utilities.lisp Some macros for dealing with points, regions, and some miscellaneous macros. copy-objects.lisp Code for copying instances. think.com:/think/lisp contains some useful lisp code (most of it Symbolics dependent) including: lisp-lint.lisp A set of compiler style checkers that warn when a function call does not conform to Common Lisp. MEASURES is a system to handle engineering numbers and measures in Common Lisp. It runs in Allegro CL, LispWorks, MCL, and Symbolics CL. Written by Roman Cunis. Some documentation can be found in the file measures.doc and examples in measures-example.lisp. It is available from the Common Lisp Repository ftp.cs.cmu.edu:/user/ai/lang/lisp/lisp/syntax/ in the file measures-2.0.tar.gz. For further information, contact Ralf Moeller, University of Hamburg, Bodenstedtstr 16, 2000 Hamburg 50, Germany, call 40-4123-6134, fax 40-4123-6530, or send email to moeller@informatik.uni-hamburg.de. DEFTABLE provides a macro that unifies the interface to Common Lisp's table-like data structures (e.g., association lists, property lists, and hash tables). Written by Peter Norvig <norvig@harlequin.com>. It is available by anonymous ftp from ftp.ai.mit.edu:/pub/lptrs/deftable.lisp [128.52.32.6] and also the Lisp Utilities Repository. An article describing deftable was published in ACM Lisp Pointers 5(4):32-38, December 1992. SEQUEL (SEQUEnt processing Language) is designed both as a general purpose AI language for generating type-secure and efficient Lisp programs and as a very high level specification language for implementing logics on the computer. Designed at the University of Leeds, SEQUEL compiles sequent-calculus specifications of arbitrary logics to working proof assistants. The sequent calculus specifications are compiled into Horn clauses and from Horn clauses into virtual machine instructions of an abstract machine SLAM (SequeL Abstract Machine) which then translates these instructions into efficient Lisp code using WAM-style compilation techniques. Although a functional programming language, SEQUEL includes facilities for backtracking usually associated with logic programming, and supports a pattern-matching method of building functions based on Prolog notation. The Lisp code generated from SEQUEL functions is completely portable and runs in most Common Lisp implementations. It is comparable in efficiency with hand-written code. SEQUEL also supports optional static type-checking in the manner of SML and similar languages. With type-checking enabled, all inputs and loaded files are type-checked and the resulting Lisp programs are type-secure. The SEQUEL compiler uses the information gleaned from type-checking to add compiler directives within the generated Lisp functions to produce optimized Lisp programs. SEQUEL includes a UNIX-style top level with its own trace package and type-checking debugger. SEQUEL is also of interest to automated reasoning researchers. It provides a very powerful means of generating proof assistants and theorem provers that have a very fast performance using WAM-derived compilation techniques. The theorem provers are automatically verified. It includes a facility for Datalog and an efficient occurs-check Horn-clause-to-Lisp compiler, a mouse driven graphical interface for all proof assistants and theorem provers built under SEQUEL (currently available only under Lucid). Several demonstration theorem provers for different logics, including FOL, Clarke's logic of space, partial evaluation, set theory, and constructive type theory are available. SEQUEL runs under Kyoto CL, Lucid CL, and CMU Common Lisp. SEQUEL is available free for non-commercial purposes by anonymous ftp from agora.leeds.ac.uk:/scs/logic/ [129.11.144.130] and includes LaTeX documentation in the distribution. For more information, contact Mark Tarver <mark@scs.leeds.ac.uk> or <csc6mt@gps.leeds.ac.uk>. ILU (Xerox PARC Inter-Language Unification) is a system for promoting language interoperability via interfaces between units of program structure called "modules". ILU currently supports Common Lisp, ANSI C, C++, and Modula-3. The Common Lisp support provides CLOS `network objects' that communicate via RPC between Lisp processes, as well between Lisp and other languages. ILU is available by anonymous ftp from parcftp.parc.xerox.com:/pub/ilu/1.6.4/ilu-1.6.4.tar.gz Write to Bill Janssen <janssen@parc.xerox.com> for more information. Machine Learning: ID3: A Lisp implementation of ID3 and other machine learning algorithms are available by anonymous ftp from the machine learning group at the University of Texas as cs.utexas.edu:/pub/mooney COBWEB/3 is a concept formation system available free after signing a license agreement. Contact cobweb@ptolemy.arc.nasa.gov for more information. RWM (Refinement With Macros) is a Common Lisp program for learning problem solving strategies. RWM takes a high level description of a problem as input and successively refines it into a sequence of "easier" subproblems, which collectively constitute a strategy for solving the given problem. RWM also learns macro moves which are useful for efficiently solving the problem. A short documentation and some example problems/strategies are included. To get a copy of this description, send mail to the Bilkent University Archieve Server bilserv@trbilun.bitnet with "send RWM.tar.Z" in the body of the message. For further information, contact H. Altay Guvenir <guvenir@trbilun.bitnet>. Mathematics: MockMma -- peoplesparc.berkeley.edu:/pub/mma.tar.Z [128.32.131.14] A Mathematica-style parser written in Common Lisp. Written by Richard Fateman; fateman@renoir.Berkeley.EDU. Runs in any valid Common Lisp. Tested in Allegro, KCL and Lucid. rascal.ics.utexas.edu:/pub/ 128.83.138.20 Maxima for Common Lisp (License required from National Energy Software Center at Argonne.) Ported by Bill Schelter. QUAIL (Quantitative Analysis in Lisp) extends Common Lisp to better support quantitative analysis. It includes an object-oriented quantitative analysis programming environment based on CLOS. Quail was developed by the Statistical Computing Laboratory of the Department of Statistics and Actuarial Science of the University of Waterloo. It includes a variety of mathematical and statistical capabilities, such as symbolic and numerical differentiation, numerical integration, probability calculations (e.g., pseudo-random number generation), and statistical response models. The object-oriented graphics display facilities include building blocks for arbitrary graphics, a collection of stock statistical graphics, function plotting, 3d-rotating function and surface plots, and graphical browsers. Quail currently runs in MCL, but a Franz and CLX based version is forthcoming. It is available by anonymous ftp from setosa.uwaterloo.ca:/pub/Quail/ [129.97.141.101] You must read the file README-I-MEAN-IT and return a signed copy of the license agreement ($10 annual license fee) before using the software. For further information, contact Dr. R. W. Oldford, <rwoldford@watstat.waterloo.edu> or <rwoldford@watstat.uwaterloo.ca>. Medical Reasoning: TMYCIN -- sumex-aim.stanford.edu:/tmycin The TMYCIN rule based system. Music: Common Music is a music composition language written in Common Lisp and CLOS that outputs music (directly or through scorefiles) to a variety of synthesis packages, such as the Music Kit, Common Lisp Music, MIDI, and CSound. Common Music runs under MCL 2.0, Allegro CL 3.1.2 (NeXT), AKCL 1.615 (NeXT), Allegro CL 4.1 beta (SGI Iris), and AKCL 6.15 (Sun4). It is available by anonymous ftp from ccrma-ftp.stanford.edu:/pub/Lisp/cm.tar.Z [36.49.0.93] ftp.zkm.de:/pub/cm.tar.Z [192.101.28.17] To be added to the mailing list, send mail to cmdist-request@ccrma.stanford.edu. For further information, contact Rick Taube, <hkt@zkm.de> or <hkt@ccrma.stanford.edu>. [Note: In the Common Music sources, there is a generic portable Lisp Listener style interpreter that supports command dispatching in addition to Lisp evaluation. It is the file ./utils/tl.lisp.] Common Lisp Music (CLM) is a software synthesis and signal processing package (CL-MUSIC) and a package that makes it relatively easy to take advantage of the Motorola DSP 56000 (CL-MUSIC-56). It is available by anonymous ftp from ccrma-ftp.stanford.edu:/pub/Lisp/clm.tar.Z [36.49.0.93] Basic documentation is in clm.wn (or clm.rtf) and ins.lisp. CLM runs on NeXT under Allegro CL or KCL and on SGI Indigo under Allegro CL. The non-56000 version should run on any machine with C and Common Lisp. Send bug reports or suggestions to Bil Schottstaedt <bil@ccrma.stanford.edu>. Common Music Notation (CMN) is a western music notation package based on Common Lisp, CLOS (pcl), PostScript, and the Adobe Sonata font. It is available by anonymous ftp from ccrma-ftp.stanford.edu:/pub/Lisp/cmn.tar.Z [36.49.0.93] To be added to the mailing list (same list as for Common Music), send mail to cmdist-request@ccrma.stanford.edu. Please send bug reports and suggestions to Bil Schottstaedt <bil@ccrma.stanford.edu>. Natural Language Processing: The Xerox part-of-speech tagger is available by anonymous ftp from parcftp.xerox.com:/pub/tagger/tagger-1-0.tar.Z. It is implemented in Common Lisp and has been tested in Allegro CL 4.1, CMU CL 17e, and Macintosh CL 2.0p2. For more information, contact the authors, Jan Pedersen <pedersen@parc.xerox.com> and Doug Cutting <cutting@apple.com>. Natural Language Generation: FUF is a natural language generation system based on Functional Unification Grammars implemented in Common Lisp. It includes a unifier, a large grammar of English (surge), a user manual and many examples. FUF is available by anonymous ftp from cs.columbia.edu:/pub/fuf/ black.bgu.ac.il:/pub/fuf/ as the files fuf5.2.tar.Z and surge.tar.Z. For further information, contact the author, Michael Elhadad <elhadad@bengus.bgu.ac.il>. [A WAM-based C compiler for FUF is in the works.] Neural Networks: ANSIL -- nervous.cis.ohio-state.edu:/pub/lispusers/ansil/ "Advanced Network Simulator in Lisp" email: ansil@cis.ohio-state.edu Object-Oriented Programming: PCL -- parcftp.xerox.com:/pcl/ [13.1.64.94] Portable Common Loops (PCL) is a portable implementation of the Common Lisp Object System (CLOS). A miniature CLOS implementation called Closette is available pcl/mop/closette.lisp. CLOS-on-KEE -- zaphod.lanl.gov:/pub/ A subset of CLOS that is implemented on top of KEE. Contact egdorf%zaphod@LANL.GOV (Skip Egdorf) for more info. MCS (Meta Class System) -- ftp.gmd.de:/lang/lisp/mcs/ [129.26.8.84] Portable object-oriented extension to Common Lisp. Integrates the functionality of CLOS (the Common Lisp Object System), and TELOS, (the object system of LeLisp Version 16 and EuLisp). MCS provides a metaobject protocol which the user can specialize. Runs in any valid Common Lisp. Contact: Harry Bretthauer and Juergen Kopp, German National Research Center for Computer Science (GMD), AI Research Division, P.O. Box 1316, D-5205 Sankt Augustin 1, FRG, email: juergen.kopp@gmd.de CommonORBIT (also called CORBIT) is an object-oriented extension of Common Lisp. It uses a prototype (classless) model of OOP, is easy to use and yet has many sophisticated features found also in KL-ONE type languages. CommonORBIT is a Common Lisp reimplementation of ORBIT, which was originally conceived by Luc Steels around 1981-1983. Because of its delegation-based rather than class-based inheritance, CommonORBIT offers extreme flexibility to define and change practically anything at run-time. Because of the generic functions, it fits well into regular Lisp code. It can co-exist with CLOS but remains completely separate. The source code of CommonORBIT is in the public domain and available by anonymous ftp from the Lisp Utilities Repository, ftp.cs.cmu.edu:/user/ai/lang/lisp/ in the oop/non-clos/corbit/ subdirectory as the file corbit.tar.gz. Documentation is available as the files corbit.msword.hqx, corbit.ps or corbit.text. A stripped-down version of CORBIT, known as BOOPS (Beginner's Object-Oriented Programming System), is also available from the repository as boops.tar.Z. For further information, contact the author, Koenraad de Smedt <desmedt@ruls40.LeidenUniv.nl>. Parser Generators: Mark Johnson <mj@cs.brown.edu> has written a LALR parser generator for Common Lisp. It is fairly small (about 500 lines of code) and can be found in the Common Lisp Repository above. IPG (Incremental Parser Generator) is available by email from Jan Rekers <rekers@cwi.nl>. It is an appendix to his thesis. It is written in LeLisp, but should be portable to other Lisp dialects. Zebu 2.8.5 is a parser generator for Common Lisp by Joachim H. Laubsch <laubsch@hplabs.hpl.hp.com>. It is an extention written in Common Lisp of the Scheme version. It generates a LALR(1) parsing table. To parse a string with a grammar, only this table and a driver need to be loaded. The present version of Zebu contains the ability to define several grammars and parsers simultaneously, a declarative framework for specifying the semantics, as well as efficiency related improvements. The current version compiles a grammar with 300 productions (including dumping of the tables to disk) in approx 2 minutes and 30 seconds on a HP 9000/370. This implimentation has been tested in Lucid CL, Allegro CL, and MCL 2.0b. The current version can also produce a generator in addition to a parser. A copy may be found on cambridge.apple.com:/pub/mcl2/contrib/zebu-2.2.tar.Z. Probabilistic Reasoning and Statistics: BELIEF is a Common Lisp implementation of the Dempster and Kong fusion and propagation algorithm for Graphical Belief Function Models and the Lauritzen and Spiegelhalter algorithm for Graphical Probabilistic Models. It includes code for manipulating graphical belief models such as Bayes Nets and Relevance Diagrams (a subset of Influence Diagrams) using both belief functions and probabilities as basic representations of uncertainty. It is available by anonymous ftp from ftp.stat.washington.edu [128.95.17.34] and by email from the author, Russell Almond <almond@stat.washington.edu>. Contact the author at almond@statsci.com for information about a commercial version GRAPHICAL-BELIEF currently in the prototype stages. XLISP-STAT is an extensible statistics package which runs in XLISP. It has recently been ported to Common Lisp, and is available as umnstat.stat.umn.edu:/pub/xlispstat/CL/CLS1.0A1.tar.Z [128.101.51.1] The CL port does not yet include the lisp-stat dynamic graphics package, only the numerics. The XLisp version is available from the above site and several mirror sites, such as mac.archive.umich.edu, and runs on the Apple Macintosh, Unix systems running X11 (Vax, PMAX, Sun3, Encore Multimax, and Cray XMP), Sun workstations running SunView, and the Commodore Amiga. An experimental version for DOS computers running Microsoft Windows 3.0 is also available. Documentation is available online, in the tutorial introduction pub/xlispstat/xlispstat.doc.tar.Z and also in the book Luke Tierney, "Lisp-Stat: An Object Oriented Environment for Statistical Computing and Dynamic Graphics", Wiley, 1990, 397 pages. ISBN 0-471-50916-7. For more information, write to Lisp-Stat Information, School of Statistics, 270 Vincent Hall, University of Minnesota, Minneapolis, MN 55455, or send e-mail to lispstat-info@umnstat.stat.umn.edu. CLASP (Common Lisp Analytical Statistics Package) provides the basic functionality of a statistics package. It is implemented on top of CLOS and CLIM on a variety of platforms, and uses BBN's SciGraph package for plotting. The CLIM interface includes a "notebook" that is both a "desktop" for icons and a Lisp interactor pane. The Common Lisp Instrumentation Package (CLIP) is available along with CLASP. CLIP is designed to allow AI system developers andevaluators a portable way to define and manage "alligator clips" for instrumenting their programs. CLIP produces data about program behavior in CLASP format, as well as other commonly used data formats. It currently has facilities to support experiment design, such as scenario scripting and factorial combination of independent variables, and can collect data in summary form (at the end of each trial) or based upon the occurrence of specific events (both periodic and non-periodic). CLASP is available by anonymous ftp from ftp.cs.umass.edu:/pub/eksl/clasp/ and CLIP is in the directory ftp.cs.umass.edu:/pub/eksl/clip/ A tutorial on CLASP can be found in ftp.cs.umass.edu:/pub/eksl/clasp-tutorial/ Bugs should be reported to clasp-support@cs.umass.edu. For more information, contact Dave Hart <dhart@cs.umass.edu>. IDEAL is a LISP system developed for building and evaluating influence diagrams and Bayesian networks. It is accompanied with a graphical user interface (CLIM-based) for constructing, editing, and solving belief networks and influence diagrams. For more information, write to srinivas@rpal.rockwell.com. Planning: NONLIN -- cs.umd.edu:/pub/nonlin (128.8.128.8) Common Lisp implementation of the NONLIN planning system originally designed and implemented by Austin Tate. Bugs can be reported to nonlin-bugs@cs.umd.edu. User's group is nonlin-users@cs.umd.edu. The authors request that anybody ftping the code send a message to nonlin-users-request@cs.umd.edu, letting them know you have a copy and also letting them know if you wish to subscribe to the users group. More information can also be obtained from Jim Hendler, hendler@cs.umd.edu. ABTWEAK is a complete hierarchical, non-linear planner that extends David Chapman's (MIT 1986) TWEAK planner as described by Yang (Waterloo) and Tenenberg (Rochester) in 1989. This implementation includes a complete search strategy suited to abstraction hierarchies known as LEFT-WEDGE (Woods 1991). This planner and related work predates that of SNLP. ABTWEAK is available by anonymous ftp from logos.uwaterloo.ca:/pub/abtweak/Abtweak.tar.Z For more information, send mail to Qiang Yang <qyang@logos.uwaterloo.ca>. Also, source, all related papers, and manuals are available via WWW at the home page of Steve Woods <sgwoods@logos.uwaterloo.ca>, on URL http://logos.uwaterloo.ca/students/sgwoods/sgwoods.html, or via the Logic Programming and Artificial Intelligence Group (LPAIG) page on URL http://logos.uwaterloo.ca/. RHETORICAL is a planning and knowledge tool available by anonymous ftp from ftp.cs.rochester.edu:/pub/packages/knowledge-tools in the files rhet-19-40.tar.Z and cl-lib-3-11.tar.Z. The files tempos-3-6.tar.Z and timelogic-5-0.tar.Z add James Allen's interval logic to Rhet. It runs on Symbolics Genera and Allegro Common Lisp. Written by Brad Miller <miller@cs.rochester.edu>. PRODIGY is an integrated planning and learning system, available free after signing a license agreement. Contact prodigy@cs.cmu.edu for more information. SOAR is an integrated intelligent agent architecture currently being developed at Carnegie Mellon University, the University of Michigan, and the Information Sciences Institute of the University of Southern California. SOAR, and its companion systems, CParaOPS5 and TAQL, have been placed in the public domain. The system may be retrieved by anonymous ftp to ftp.cs.cmu.edu (or any other CMU CS machine) in the directory /afs/cs.cmu.edu/project/soar/5.2/2/public/. [Note: You must cd to this directory in one atomic operation, as superior directories may be protected during an anonymous ftp.] For more information, send email to soar-request@cs.cmu.edu or write to The Soar Group, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213. Finally, though the software is in the public domain, the manual remains under copyright. To obtain one (at no charge) send a request (including your physical mail address) to soar-doc@cs.cmu.edu or to the physical address above. A simple route planning agent implemented in Soar6 is available by anonymous ftp from earth.med.ohio-state.edu:/pub/IEEE-Soar-code/route-planning.soar6. This is the complete code for the agent described in the IEEE Expert article: Smith, J. W. and Johnson, T. R., "A stratified approach to specifying, designing, and building knowledge systems", IEEE Expert, 8(3):15-25, 1993. SNLP is a domain independent systematic nonlinear planner, available by anonymous ftp from cs.washington.edu:/pub/snlp.tar.Z Contact weld@cs.washington.edu for more information. IDM is a Common Lisp implementation of both a classical and extended version of the STRIPS planner. It is available by anonymous ftp from sauquoit.gsfc.nasa.gov (128.183.101.29). Questions, comments and bug reports may be sent to idm-users@chelmsford.gsfc.nasa.gov. Planning Testbeds: TILEWORLD is a planning testbed/simulator developed at SRI International by Martha Pollack, Michael Frank and Marc Ringuette. TILEWORLD originally ran under Lucid CL, but was later extended and ported to Allegro CL by Badr H. Al-Badr and Steve Hanks. The new tileworld is available by anonymous ftp from cs.washington.edu as the file new-tileworld.tar.Z It includes an X interface. Contact pollack@cs.pitt.edu for more information. TRUCKWORLD is a simulated world intended to provide a testbed for AI planning programs, where the planning agent is a truck with arms that roams around the simulated world. It is available by anonymous ftp from cs.washington.edu:/pub/ai/truckworld.tar.Z It includes an X interface. Contact Steve Hanks <hanks@cs.washington.edu> for more information. Send mail to truckworld-users-request@cs.washington.edu to be added to the mailing list. ARS MAGNA is a simulated world intended for use as a testbed for planning and mapping programs. The simulated agent is a robot in an indoors environment. High-level sensing and action are provided, realistically modelled on current vision and robotics research. It is written in Nisp, a macro package running on top of Common Lisp. It is available by anonymous ftp from dept.cs.yale.edu:/pub/nisp/ as file ars-magna.tar.Z. It includes an X display. Contact Sean Engelson <engelson@cs.yale.edu> for more information. Qualitative Reasoning: QSIM is a qualitative reasoning system implemented in Common Lisp. It is available by anonymous ftp from cs.utexas.edu:/pub/qsim Contact Ben Kuipers <kuipers@cs.utexas.edu> for more information. QPE is the Qualitative Process Engine, an envisioner for QP theory. QPE is publically available from multivac.ils.nwu.edu:/pub/QPE Maintained by Ken Forbus <forbus@ils.nwu.edu>. Theorem Proving: MVL (Multi-Valued Logic) is a theorem proving system written in Common Lisp. MVL is a bilattice-based reasoning system. By changing the bilattice, you can use MVL to do truth maintenance, nonmonotonic reasoning, first-order reasoning, and a variety of other reasoning strategies. MVL is available by anonymous ftp from t.uoregon.edu:/mvl/mvl.tar.Z [128.223.56.46] as mvl.tar.Z. A user's manual may be found in the file manual.tex. For more information, contact Matthew L. Ginsberg, <ginsberg@t.stanford.edu> or <ginsberg@cs.stanford.edu>. Matthew asks that you send him an email message if you retrieve the system by anonymous ftp. Boyer-Moore ftp.cli.com:/pub/nqthm/nqthm.tar.Z Contact: kaufman@cli.com rascal.ics.utexas.edu:/pub/ 128.83.138.20 nqthm/ Boyer and Moore's theorem prover. Also available from ftp.cli.com:/pub/nqthm. proof-checker/ Matt Kaufmann's proof checking enhancements to nqthm. The mailing list nqthm-users-request@cli.com is for users of the Boyer-Moore theorem-prover, NQTHM. DTP is a general first-order theorem prover incorporating intelligent backtracking and subgoal caching, as well as a trace facility that can display proof spaces graphically. Implemented in CLtL2 Common Lisp, it runs in Franz Allegro, Lucid, and Macintosh (MCL) Common Lisp. DTP is available on the Web at http://logic.stanford.edu/dtp/ or by anonymous ftp from meta.stanford.edu:/pub/dtp/ [36.8.0.54] Contact Don Geddis <Geddis@CS.Stanford.EDU> for more information. RRL (Rewrite Rule Laboratory) -- herky.cs.uiowa.edu:/public/rrl [128.255.28.100] FRAPPS (Framework for Resolution-based Automated Proof Procedures) is a portable resolution theorem-prover written in Common Lisp. It is available via anonymous ftp from a.cs.uiuc.edu:/pub/frapps [128.174.252.1]. If you take a copy of FRAPPS, please send a short note to Prof. Alan M. Frisch <frisch@cs.uiuc.edu>. Truth Maintenance: The truth maintenance system and problem solver implementations described in the book "Building Problem Solvers" by Ken Forbus and Johan de Kleer are available by anonymous ftp from parcftp.xerox.com:/pub/bps/. Includes a constraint propagation system similar to Steele's Constraints system, among other things. For more information send mail to Johan de Kleer <deKleer@parc.xerox.com>. Virtual Reality: VEOS (Virtual Environment Operating Shell) is an extendible environment for prototyping distributed applications for Unix. The programmer's interface uses XLISP 2.1. Although intended for distributed Virtual Reality applications at The Human Interface Technology Lab in Seattle, it should be appropriate for other applications. VEOS uses heavyweight sequential processes, corresponding roughly to unix processes. VEOS runs on DEC/5000, Sun4, and Silicon Graphics VGX and Indigo. VEOS is available by anonymous ftp from milton.u.washington.edu:/public/veos/ [128.95.136.1] as veos.tar.Z. If you use the software, the authors ask that you send them mail to veos-support@hitl.washington.edu. Vision: OBVIUS -- white.stanford.edu:/obvius/ [36.121.0.16] whitechapel.media.mit.edu:/obvius/ [18.85.0.125] Object-Based Vision and Image Understanding System (OBVIUS), is a Common Lisp image processing package. Provides a library of image processing routines (e.g., convolutions, fourier transforms, statistical computations, etc.) on gray or binary images and image-sequences (no color support yet), an X windows display interface, postscript printer output, etc. It uses a homebrew interface to X11 (i.e., it does not use clx or clue). However, they eventually hope to port Obvius to a clx/clue platform. Written by David Heeger <heeger@white.stanford.edu> and Eero Simoncelli <eero@central.cis.upenn.edu>. Runs in Lucid-4.0. Includes LaTeX documentation and User's Guide. Miscellaneous: ftp.csrl.aoyama.ac.jp:/YY/ YY window toolkit sources ftp.csrl.aoyama.ac.jp:/lispsrc/ Common Lisp programs, including MIT's FRL.Go Back Up