====== TWENEX MACLISP 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|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''. ===== 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]]