[Top][All Lists]

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

Re: [Chicken-users] compile-time eval-time mismatch

From: Michele Simionato
Subject: Re: [Chicken-users] compile-time eval-time mismatch
Date: Wed, 8 Dec 2004 07:26:35 -0500

On Wed, 8 Dec 2004 12:58:17 +0100, felix winkelmann <address@hidden> wrote:
> Here another attempt to clarify eval-when:
> 'eval': execute the body in the interpreter (csi), and in csi only.
> 'load': execute the code in compiled code, not in interpreted (by csi) code.
> 'compile': execute the code during compilation (with csc/chicken).
> So we have actually two problems here:
> 1) the naming of the situations in `eval-when'. I will add aliases for
>    eval/load/compile  to make this clearer (any suggestions are welcome).
> 2) The provided macro system for code evaluated at run-time in compiled
>   executables. By default there is effectively none (well, it's the normal
>   low-level one, but it doesn't provide a way to define macros).
>   This is bad, I'll change it to allow `define-macro' actually to be used.
> Sorry for the confusion this seems to create.

Uhmm ... I think I understand now. This explanation is okay, maybe you
could add it to the docs.

Incidentally, few days ago I downloaded SBCL, just to make a few experiments.
It is a pretty interesting implementation of CL: it does not have an
but somewhat they manage to give you the impressions you are using an
interpreter. All the tricky examples we are discussing here works flawlessly
without eval-when, just as they work in the Chicken interpreter.
Dunno how they get this magic, but it pretty impressive. Maybe you
could stole some idea from them :-)

    Michele Simionato

reply via email to

[Prev in Thread] Current Thread [Next in Thread]