This directory contains files of LOGOS 1.0. LOGOS 1.0 is implemented in Common Lisp. It has been thoroughly tested on: MCL - Macintosh Common Lisp 3.0 under System 7.5, KCL - Kyoto Common Lisp 1.98 under SunOS 4.1.1 But should run on any correct Common Lisp implementation If the user has a choice, we suggest running LOGOS on MCL because it is much much faster than the other systems, and more importantly, we have found that most implementations of Common Lisp have slightly "unique" behaviours under some circumstances, so can not guarantee the good behaviour of LOGOS on Lisp systems other than those mentioned above. If you have a macintosh, by far the best way to run Logos is to simply double-click on the "logos10.app" application. If you do not have a macintosh, or want to run Logos under something other than MCL lisp, you will have to use the lisp source files. The files *.lsp contain the LOGOS interpreter; the files *.l contain sample LOGOS programs, files *.doc contain documentation of LOGOS. Two *.lsp files of particular importance are INIT.LSP, which contains implementation-dependent setup-routines and should be run first (it is automatically run by MCL), and L.LSP which automatically loads the Logos files. If you want to use LOGOS, - create directory "logos" on your computer, - get all the files from this directory (mget *.* does that in ftp), - run Lisp, make sure that init.lsp file has been loaded - type (LOGOS) at Lisp's prompt, to load the LOGOS interpreter, The Logos' prompt is <<< For a quick demonstration of the LOGOS program, type: <<< load(demo)? You will be guided through a number of sample programs and queries. There are also a number of other sample LOGOS programs to try out. Try loading the file tomandjerry.l by typing: <<< load(tomandjerry)? Some queries to try out: <<< cat(X)? ; who is a cat? <<< chases(X,jerry)? ; who chases after jerry? <<< eats(X,Y)? ; who tries to eat whom? <<< edible(X)? ; who is at risk of being eaten (tests existential qualifier) <<< fierce(X)? ; who tries to eat everyone else (tests universal quantifier) <<< action? ; list interesting potential events (tests the 'write' builtin) Queries end with a question-mark "?". Commands (such as load, exit, etc) may end with either a full-stop "." or a question mark "?". Rule definitions end with a full-stop ".". Other details of syntax are described in the file syntax.doc . Other documentation is contained in explain.doc . There are other LOGOS program files which you may wish to load: <<< load(lists). <<< load(oddandeven). To exit from Logos: <<< exit? ; back to Lisp (exit) ; type that at Lisp's prompt ***********************************************************************