User Tools

Site Tools


tutorials:interlisp

This is an old revision of the document!


TWENEX Interlisp Tutorial

Interlisp-10, for Interactive Lisp, is an implementation of the Lisp programming language developed from 1966 at Bolt, Beranek and Newman (BBN) for TENEX, BBN's in-house PDP-10 operating system, and later DEC's TOPS-20 operating systems. From 1970, development of Interlisp was transferred to Xerox Palo Alto Research Center.

The language became popular with Stanford University AI researchers and at other principally US West-Coast institutions.

Interlisp Features

At the time of its creation, what distinguished Interlisp from most other programming languages and systems was that it attempted to provide the user with a complete set of tools for making it possible for him or her to accomplish the desired task as easily as possible. Listed below are a brief summary of some of the more interesting features, and complete details are found in the Interlisp Reference Manual1).

  • Editor – Interlisp has a list structure oriented editor for easy modification of functions, property lists and variable values without having to leave Interlisp to use a text editor. See Editor Basics.
  • Break package – A package for giving control to he user when an error occurs so variable values can be examined and other tests preformed. It also includes the ability to set breakpoints and trace functions.
  • File package – A set of functions which are fully integrated into the system to keep track of what files source and compiled versions of functions reside, and automatically maintaining updated versions of these files when changes are made.
  • Record package – A package for creating record structures which allow one's code to be written independent of the data structures acutally chosen for the implementation.
  • DWIM – “Do What I Mean” – a spelling corrector which attempts to fix spelling errors and other obvious mistakes.
  • CLISP – “Conversational LISP” – A package which allows the user to write in an ALGOL-like lisp notation including FOR and WHILE loops, and a simple syntax for record references, functions like CAR and CDR, and infix arithmetic operators. See CLISP Syntax.
  • Helpsys – An on-line help and documentation facility. (Not available on TWENEX.)
  • Masterscope – A program for analyzing the structure of large programs and answering questions like “What functions call FOO” or “EDIT functions which reference MUMBLE freely”

In and Out

Start Interlisp with the EXEC command @INTERLISP:LISP. Return to EXEC with the Interlisp command LOGOUT() or Ctrl-C.

Example Session

For an example of basic Interlisp usage, see Interlisp Example Session on TWENEX.

Interlisp Tips

  • Although the Interlisp programming language is not identical to Lisp 1.5, Clark Weissman's Lisp 1.5 Primer2) is recommended as an introduction for Interlisp users.
  • The Interlisp top-level prompt character is a “_”.
  • Interlisp supports both upper- and lower-case characters, and names are case-sensitive. Names of core functions are defined in uppercase, but the DWIM facility can automatically correct incorrect capitalization.
  • EVALQUOTE command format
  • The Interlisp read program treats square brackets (“]”) as “super-parentheses”: a right square bracket automatically supplies enough right parentheses to match back to the last left square bracket (in the expression being read), or if none has appeared, to match the first left parentheses, e.g., (A (B (C] ⇒ (A (B (C))), (A [B (C (D] E) ⇒ (A (B (C (D))) E)
  • TOPS-20 command line editing keys

Editor Basics

CLISP Syntax

1)
Warren Teitelman. Interlisp Reference Manual. (1978). Accessed: October 6, 2024. [Online]. Available: https://www.softwarepreservation.org/projects/LISP/interlisp/Interlisp-Oct_1978.pdf
2)
Clark Weissman. Lisp 1.5 Primer. (1967). Accessed: October 3, 2024. [Online]. Available: http://www.softwarepreservation.org/projects/LISP/book/Weismann_LISP1.5_Primer_1967.pdf
tutorials/interlisp.1728203030.txt.gz · Last modified: 2024/10/06 08:23 by papa