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

a LAMBDA special form

    Date: Friday, 19 November 1982  22:36-EST
    From: MOON at SCRC-TENEX
    To:   common-lisp at SU-AI
    Re:   named lambdas

    ... One way to do this is to say that any list starting with LAMBDA is
    acceptable as a function, and will be translated into whatever the
    implementation wants...

ie, LAMBDA should be a special form which returns a "function" (I use quotes
since I don't mean here an datatype, but rather an intension on a [possibly
already existing] datatype.) A typical system-dependent implementation being
something like
 (defmacro lambda (bvl &body body) `#'(lambda ,@body)).
Similarly for named-lambda.

I think this is a good idea.

    ... Another way would be to add a new primitive MAKE-FUNCTION ...

I would say this should be not so much an addition as possible extension.
The LAMBDA special form would have the interesting advantage of not needing
a preceeding #' and would still be statically analyzable by the compiler,
which is a decided advantage. But LAMBDA would not be as general (without
asking the user to call something like EVAL, which is obviously wrong).
So both are really called for.