Help for how to run LISP on the WPI computers

Get an account on WPI. Access WPI using SSH via your ISP. ______________________________________________________________________________

* Lisp on wpi.wpi.edu

Log on to wpi.wpi.edu To run commonLISP type: gcl Use the function (bye) to return to the Unix prompt. _________ Log on to wpi.wpi.edu To run commonLISP type: canlisp It's unclear what function to use to return to the Unix prompt. There do not seem to be any man pages. ______________________________________________________________________________

* Lisp on the CS machine called cs

rlog to cs.wpi.edu To run commonLISP type: acl This is Allegro Common LISP version 6.2, with Common Windows, the Composer environment & CLOS. Use the function (exit) to return to the Unix prompt. Documentation is available at /usr/local/acl62/doc/.
The Index to all Documentation: file:/shared/linux/acl62/doc/index.htm Details of The Emacs-Lisp Interface: file:/shared/linux/acl62/doc/eli.htm See /usr/local/acl62/doc/basic-lisp-techniques.pdf for a LISP book. ______________________________________________________________________________

* Scheme on wpi.wpi.edu

just type scheme or drscheme ______________________________________________________________________________

* Scheme on cs.wpi.edu

just type drscheme ______________________________________________________________________________

* Investigate!!

Some lisps allow you to type: (help) to get a little help. Investigate the dribble function -- useful for keeping record of runs Investigate the eval fn. Investigate the defun fn Investigate the load fn -- useful for defining lots of fns Basic functions include: cons car cdr null eq equal cond if read and some fns for output. Use the fn (bye) (quit) or (exit) to get out of LISP. Once you've seen the basic functions also learn these functions to get started on project 1. ______________________________________________________________________________ PLAY WITH LISP to get to know it -- it's fun! A program is a collection of fns. Use the topmost fn to run the program. Prepare files with fns in them, using an editor, and load those files into LISP. That automatically defines the fns -- ie. LISP now knows they exist. Try using emacs, and do <escape> x shell to get a copy of the unix shell running inside emacs, then run LISP do your stuff. Leaving emacs and saving the file gives you a transcript of the LISP session. Magic. ______________________________________________________________________________ Use the init.lsp file that's available on the web. If you put it in your directory and start up some lisps (which?) it will get loaded automagically. Add or delete functions yourself. After loading init.lsp you can then use emacs (or vi) by typing (emacs "file.lsp") to edit file.lsp. Then use (load "file.lsp") to reload the corrected version. (emacs-load "file.lsp") provides emacs followed by an automatic load of the corrected file. ______________________________________________________________________________ Remember that as a LIST is the basic data structure, and that functions are also lists, then one can read, construct, and evaluate (using Eval) functions. This may be useful. Work with lots of small functions. Build fns out of fns. Think of your program in layers. The lowest level is basic lisp fns. That isn't the language in which you want to write your program! You want to write it in a language that uses the terminology of your problem. For example, for a project about rules, instead of something like (caar xz) you'd be better off writing (GetLHSofRule CurrentRule) -- i.e., create a new language level in which to write your interpreter! So functions such as TestRule and ExecuteAction might be included in this language in which to write your interpreter. ______________________________________________________________________________ Right now the CS grad machine, known as CS.wpi.edu, runs LISP. It should work just fine. All CS grad students should already have accounts on that machine.

Tue Nov 11 16:32:05 EST 2003