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

function specs



    Date: 13 July 1983 23:00 EDT
    From: Earl A. Killian <EAK @ MIT-MC>
    Btw, I would consider any compiler that didn't compile the lambda in

    (putprop 'foo #'(lambda (x) (mumble-frotz x)) 'bar)

    to be broken.

Surely, if the form above appears in the middle of a function.
But what about forms that appear at the top level?  I don't think there
is a clear notion of what happens to top level forms that are not 
macro invocations.  Traditionally, these forms go into the object file
unmodified (just encoded).  Should constant expressions be reduced? 
Should diagnostics be issued?  Should internal macro calls be expanded?

In order for the compiler to compile lambdas in top level forms, a solid
theory of processing top-level function calls has to be developed, which
implies a new, fundamental mode of meta-evaluation, viz., compiler-top-level, 
to be added to the current set of language-defined meta-evaluations
(true evaluation and compilation).