[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

LAMBDA extension



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