Introduction to CLISP ===================== CLISP names this implementation of COMMON LISP for the Atari ST. It consists of the following files: LISP.PRG main program LISPINIT.MEM memory image needed for startup CONFIG.LSP site-dependent configuration INTRO.TXT this introduction What is LISP? ------------- LISP is a programming language. It was invented by J. McCarthy in 1959. There have been many dialects of it, but nowadays LISP has been standardized and wide-spread due to the industrial standard COMMON LISP. There are applications in the domains of symbolic knowledge processing (AI), numerical mathematics (MACLISP yielded numerical code as good as FORTRAN), and commercial programs like editors (EMACS) and CAD (AUTOCAD). There is an introduction in the language: Sheila Hughes: Lisp. Pitman Publishing Limited, London 1986. 107 pages. After a while wou will need the standard text containing the language definition: Guy L. Steele Jr.: Common Lisp - The Language. Digital Press. 1. edition 1984, 465 pages. 2. edition 1990, 1032 pages. LISP is run in an interactive environment. You input forms, and they will be evaluated at once. Thus you can inspect variables, call functions with given arguments or define your own functions. Installation: ------------- Change the strings in CONFIG.LSP, using a text editor. Then start LISP.PRG. When the LISP prompt > _ appears, type (compile-file "config") (load "config") and then (saveinitmem) to overwrite the file LISPINIT.MEM with your configuration. (Please do this only once!) Things to know -------------- Keyboard input is line buffered. The following keys are recognized: Tab 1 to 8 spaces Backspace deletes one character to the left Delete deletes one character to the right Insert inserts a space <- moves the cursor one character to the left -> moves the cursor one character to the right Shift <- moves the cursor to the beginning of the line Shift -> moves the cursor to the end of the line Return, Enter finishes editing of this line Help, Undo, F1-F10 context dependent The loudspeaker bell sounds on every beginning and end of a garbage collection. Screen output can be stopped temporarily by pressing the right mouse key. If the mouse is moved with the right mouse key being pressed, the screen output continues slowly. Running programs can be interrupt in most cases by pressing both mouse keys at the same time. If this shouldn't work, simultaneous pressing of a shift key and both mouse keys will work. You leave the LISP system by executing (exit). When you encounter problems: ---------------------------- After errors, you are in the debugger: 1. Break> _ You can evaluate forms, as usual. Furthermore: Help calles help Undo climbs up to next higher input loop (show-stack) shows the contents of the stack, helpful for debugging And you can look at the values of the variables of the functions where the error occurred. On lack of memory (this is the case if garbage collections occur more and more often and you then get an error message) remove some memory pigs. If there is even not enough space to evaluate forms, then evaluate the form 0 three times and clean up or leave LISP using (exit). Hints to save memory: Don't leave programs in the background when starting LISP. Compile functions that have been tested enough. On bigger problems, e.g. bombs, please send a description of the error and how to produce it reliably to the authors. Authors: -------- Bruno Haible Michael Stoll Ritterstrae 42 Riesenfeldstrae 96 D - W 7500 Karlsruhe 1 D - W 8000 Mnchen 40 Germany Germany Email: haible@ma2s2.mathematik.uni-karlsruhe.de