====== Lisp at TWENEX.ORG Tutorial ====== **Lisp** is a programming language famous for its use in Artificial Intelligence and advanced Computer Science research. First developed in 1958, it is the second oldest (after Fortran) high-level programming language still in common use. Two dialects of Lisp are available at TWENEX.ORG, Maclisp and InterLisp-10. ===== Maclisp ===== (''@MACLISP'') **Maclisp** was developed in the mid-1960's as part of MIT's Project MAC((for **M**athematics **A**nd **C**omputation. The name is unrelated to the later-developed Apple Macintosh computer)), originally for the PDP-6 ITS operating system. Maclisp was a highly influential language and was the primary inspiration for Common Lisp, with contributions form other dialects like InterLisp. === Set-up === Before running MACLISP, you must define the following logical name: ''@DEFINE MACLISP: PS:'' (You can add the above line to your LOGIN.CMD file to automatically define the logical name for all of you TWENEX sessions.) It is also recommended that you create a Maclisp init file (''LISP.INI'') in your home directory with the following contents: ;;; A very typical init file / Emacs mode--> -*- Mode:LISP; -*- (COMMENT) ;magic (PROGN ; real init file stuff (SETQ BASE 10. IBASE 10. *NOPRINT NIL) ;base-10 display (SETQ NOUUO T *RSET T) ;these make debugging easier (SSTATUS FEATURE NOLDMSG) ;supress module load messages '*) ;return an asterisk for Maclisp to print out === LEDIT === ''LEDIT'' is a software package that allows a programmer to inspect, modify, and save Lisp source expressions from within a Maclisp session, abilities Maclisp itself lacks. This is achieved by calling the Emacs editor from the programmer's Maclisp session. To use LEDIT: - Start Maclisp and load your source file. - Evaluate ''(LOAD "LISP:LEDIT.FASL")'' (You may add this line to your LISP.INI file and eliminate this step.) - Evaluate ''(LEDIT)'' to switch to Emacs. - Load the source file into Emacs (''^X ^F''). - View, change, save source with Emacs commands. - Flag function definitions to update in Maclisp with ''M-Z''. - Return to Maclisp with ''^X Z''. ===== InterLisp-10 ===== (''@LISP'') **InterLisp** was developed in 1967 at Bolt, Beranek and Newman (BBN) for TENEX, BBN's in-house PDP-10 operating system. Development was later transfered to XEROX PARC. The language became popular with Stanford University AI researchers and at other principly US West-Coast institutions. InterLisp was noted for its integration of interactive development tools into the the programming environment: debugger, Lisp-structure-aware editor, spelling corrector, file manager. The dialect was in a rivalry with Maclisp prior to the development of Common Lisp. === Set-up === If you have set-up your TWENEX session for Maclisp (see above), you must undefine the logical name ''LISP:'' and set ''@DEFINE INTERLISP PS:'' before running InterLisp. ===== References ===== [[http://www.maclisp.info/pitmanual/index.html|K.M. Pitman. (2007, December 16). The Revised Maclisp Manual [Online]. Available: http://www.maclisp.info/pitmanual]] [[http://bitsavers.informatik.uni-stuttgart.de/pdf/xerox/interlisp/Interlisp_Reference_Manual_1974.pdf|W. Teitelman. (1974). InterLisp Reference Manual [Online]. Available: http://bitsavers.informatik.uni-stuttgart.de/pdf/xerox/interlisp/1974_InterlispRefMan.pdf]] [[http://www.softwarepreservation.org/projects/LISP/book/Weismann_LISP1.5_Primer_1967.pdf|C. Weissman. (1967). Lisp 1.5 Primer [Online]. Available: http://www.softwarepreservation.org/projects/LISP/book/Weismann_LISP1.5_Primer_1967.pdf]]