[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
LAMBDA extension
- To: LISP-FORUM at MIT-MC
- Subject: LAMBDA extension
- From: Masinter at PARC-MAXC
- Date: Fri ,2 Oct 81 18:20:00 EDT
Interlisp has used the notion of alternate LAMBDA-words in order
to extend the syntax of variable binding styles. The LAMBDATRAN
package is described in the Interlisp Reference Manual pp 24.32-24.33.
For example, the DECL package, which adds type declarations to
Interlisp, uses LAMBDATRAN to define a new LAMBDA-word
DLAMBDA, e.g.
(DE FOO (DLAMBDA ((A FLOATP) (B FIXP) (RETURNS LISTP)) --]
The QLISP implementation used LAMBDATRAN to implement QLAMBDA.
The implementation of LAMBDATRAN involved advising/redefining
the functions for accessing argument lists and types (NARGS, ARGLIST,
FNTYP, etc.) to operate on the translation, and hooks in the
interpreter-fault-handler and compiler.
Larry