[Ecls-list] Is ECL really interpreted ?
Pascal J. Bourguignon
pjb at informatimago.com
Mon Jul 16 20:17:40 UTC 2012
Juan Jose Garcia-Ripoll <juanjose.garciaripoll at gmail.com> writes:
> On Mon, Jul 16, 2012 at 1:02 PM, Pascal J. Bourguignon <pjb at informatimago.com> wrote:
>
> clisp has a true interpreter, and it will macroexpand several times the
> same macro.
>
> I think it was either Bruno Haible or Sam Steingold who explained to
> me once that the trick in CLISP is not to interpret, but to recompile
> the function when the macro changes. This way it is more efficient
> than GCL (which uses a list traversal interpreter) but behaves like an
> interpreter in that sense. In any case I never studied CLISP's source
> code, so I cannot be sure whether I misunderstood the email.
Yes, actually it's the minimum compilation that is done once with the
result cached for interpretation, IIRC. But it's definitely an
interpreter of the lisp forms which is used to run and debug. The clisp
debugger cannot debug inside byte-compiled functions.
--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
More information about the ecl-devel
mailing list