chicken-users
[Top][All Lists]
Advanced

[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
interpreter,
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]