kawa-commonlisp-dev
[Top][All Lists]
Advanced

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

Re: [Kawa-commonlisp-dev] [GSoC] Status


From: Charles Turner
Subject: Re: [Kawa-commonlisp-dev] [GSoC] Status
Date: Sat, 11 Aug 2012 20:34:01 +0100

On 11 August 2012 19:33, Helmut Eller <address@hidden> wrote:
> I think there is a circular dependency in the build procedure:
> CommonLisp.java says that DEFMACRO can be found in primitives.lisp
> but to compile primitives.lisp we need to load CommonLisp.java first
> which wants to load primitives.lisp first ...

I really struggle to understand how this part of compilers works, but
from what Jamison said, I thought the def*Fld thing was lazy, I
haven't figured out how the static fields stuff happens, but my mental
model tells me that it's almost like a forward declaration, not
require the loading of any class files, so a circularity does not
exist. Are you having problems building it?

> How is this supposed to work?  Is it even necessary to enumerate so many
> names from primitives.lisp in CommonLisp.java when we are going to load
> both files anyway?

What do you mean? With REQUIRE? The REQUIRE trick is only a hack until
this DEFMACRO business is sorted out. The loadClass method was
unpleasant because *everything* in primitives/defmacro.lisp was being
exported, including all the auxillary procedures, which was an ANSI
violation at least. There are no class loads (other than to get stuff
from Scheme) in CommonLisp anymore.

Apologies if I've missed the gist of your concerns.

Charles,



reply via email to

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