[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
function specs
- To: EAK@MIT-MC, common-lisp%SU-AI@USC-ECL
- Subject: function specs
- From: Bernard S. Greenberg <BSG%SCRC@MIT-MC>
- Date: Thu, 14 Jul 1983 14:35:00 -0000
- In-reply-to: The message of 13 Jul 83 23:00-EDT from Earl A. Killian <EAK at MIT-MC>
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).