[Top][All Lists]

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

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

From: felix winkelmann
Subject: Re: [Chicken-users] compile-time eval-time mismatch
Date: Wed, 8 Dec 2004 13:59:15 +0100

On Wed, 8 Dec 2004 07:26:35 -0500, Michele Simionato
<address@hidden> wrote:
> On Wed, 8 Dec 2004 12:58:17 +0100, felix winkelmann > 

> 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 :-)

Well, it's pretty simple: the compile into native-code ("in core" as
it used to be called ;-). SBCL doesn't generate executables per se, everything
just exists in a big (very big) image. So it's like an interpreter with the
intermediate representation being machine code. To build an application,
you just load the whole stuff into your image and save that.
In such a model the term "separate compilation" doesn't really exist.

To have something like that in Chicken, one would need a native-code
compiler generating raw machine code and a facility for saving the
current state of the "world" into a file. Both somewhat tedious to
write and maintain, not overly portable, and when working with normal
UNIX tools, pretty uncomfortable... It's a trade-off.


reply via email to

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