Instructions for downloading and installing prodigy 4.0. 1. Downloading a) ftp to schubert.prodigy.cs.cmu.edu b) type "cd /usr/prodigy/version4.0/manual" It is important to cd in one command, you may not have access to the superior directories c) type "binary" to set ftp to download binary files d) type "get manual.ps.Z" and "get prodigy4.0.tar.Z" to get the manual and source code for prodigy 4.0 e) type "quit" to finish ftp 2. Installing a) uncompress the files, with "uncompress" on a unix machine: % uncompress manual.ps.Z prodigy4.0.tar.Z The manual is in postscript form. You can print it on a postscript printer or view it with ghostscript: "gs" or "gv" on a unix machine. b) make the directory where you want to install prodigy, and move the source code file there. Eg: % mkdir /usr/local/prodigy % mv manual.ps prodigy4.0.tar /usr/local/prodigy c) untar the source code, with the command "tar" on a unix machine: % tar xvf prodigy4.0.tar This will create the subdirectories "system" and "domains" and install many files. If you are short of space you might want to delete the tar file prodigy4.0.tar after this step. d) edit the file "loader.lisp" to change the value of *prodigy-root-directory* to point to the new home (eg "/usr/local/prodigy/"). The trailing slash "/" is important. If your version of lisp and operating system are not mentioned in the parameter *binary-pathname*, then make an entry for it: eg #+(and MY-LISP MY-OS) ".strange-binaries/" The trailing slash "/" is important. You can check whether your lisp is supported by examining the list *features* in a lisp session. e) You must also create the subdirectories for the binaries you need. Eg on unix: % mkdir system/.pmax-allegro % mkdir system/.sparc-allegro-4.1 (You can have any number of these, but the binaries will take about a megabyte each) 3. Compiling prodigy a) In a lisp session, set the variable *load-prodigy-immediately* to nil: > (setq *load-prodigy-immediately* nil) b) load "loader.lisp": > (load "/usr/local/prodigy/loader.lisp") c) call the function load-source > (load-source) d) call the function compile-all > (compile-all) This will probably take a while. If you load "loader.lisp" without setting the variable *load-prodigy-immediately* to nil, it will attempt to load prodigy from the compiled files straight away, which is normally what you want. 4. Testing Try the following commands in lisp: (domain 'blocksworld) (problem 'suss) (run) You should see prodigy create a search tree and find a plan to solve Sussman's anomaly. If you have any problems or questions, please send mail to prodigy@cs.cmu.edu