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 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, automatic correction tool, and analysis tools.

In and Out

Start Interlisp with the EXEC command @INTERLISP:LISP. The Interlisp prompt character is a _. Return to EXEC with the Interlisp command LOGOUT() or Ctrl-C.

Note: Interlisp built-in function names should be typed in upper-case, although in many cases Interlisp can automatically correct names typed with incorrect case. Interlisp supports upper- and lower-case characters in user-defined names and in character string data.

Example Session

@INTERLISP:LISP
INTERLISP-10 31-Dec-84 …
Hello.
3_ DEFINEQ((FACT (LAMBDDA (N) (IF N=0 THEN NIL ELSE N*(FACTT N-1] > (FACT) > 4_ (GETD 'FACT) > (LAMBDDA (N) (IF N=0 THEN NIL ELSE N* (FACTT N-1)))''

5_FACT(3) LAMBDDA {below FACT} → LAMBDA ? Yes FACTT {in FACT} → FACT ? Yes

NON-NUMERIC ARG NIL

(ITIMES broken) 6:BT ITIMES COND FACT COND FACT COND *ENV* FACT *ENV* APPLY *PROG*LAM LISPX ERRORSET EVALQT NIL

7:N 1 8:?

UNBOUND ATOM ? (ITIMES broken) 9:EDITF(FACT) edit 1*(R NIL 1) 2*OK FACT 10:RETURN 1 ITIMES = 1 6 11_PP FACT

(FACT

[LAMBDA (N)  **COMMENT**
  (if (ZEROP N)
      then 1
    else (ITIMES N (FACT (SUB1 N])

(FACT) 12_MAKEFILES() NOTE: the following are not contained on any file:

  the functions: FACT

want to say where the above go ? Yes (functions) FACT File name: FACT2.LISP create new file FACT2.LISP ? Yes FACT2.LISP… (<PAPA>FACT2.LISP.1) 13_LOGOUT() @

References

Warren Teitelman. Interlisp Reference Manual. (1978). Accessed: October 3, 2024. [Online]. Available: https://www.softwarepreservation.org/projects/LISP/interlisp/Interlisp-Oct_1978.pdf

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.1728033732.txt.gz · Last modified: 2024/10/04 09:22 by papa