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

Re: Compilation in Standard LISP



Any function in Standard LISP with Portable LISP compiler may have a
'COMPFN property, which causes this function to be compiled other than
simply to expand macros and then recursively invoke COMVAL. The user
of course has to know how the compiler works, and then writes a
function that compiles the construct as desired , puting under the
COMPFN property. We also have a PASS-1, source to source
transformation phase, and can associate a PA1FN with any construct,
cause it to compile differently (hoepfully better!).

Other wise MACROS simply return a new form that is compiled in place
of old form (as it is interpreted in place of old form by EVAL).

This scheme makes macros work cleany for EVAL'ed code, and has them
compiled OPEN in compiled code; there is still the PA1FN or COMPFN for
further compilation optimisation. M griss