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: Helmut Eller
Subject: Re: [Kawa-commonlisp-dev] [GSoC] Status
Date: Sat, 11 Aug 2012 23:23:00 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux)

On Sat, Aug 11 2012, Charles Turner wrote:

> 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?

OK, after I put (require class::|gnu.commonlisp.lisp.primitives|) at 
the beginning of defmacro.lisp it works, but without that I get this
error:

java -classpath "../../..:./../../..:$CLASSPATH" kawa.repl -d
../../.. -P `echo gnu-commonlisp-lisp|sed -e
s/-/./g`. --module-static-run --clisp -C primitives.lisp defmacro.lisp
(compiling defmacro.lisp)
defmacro.lisp:246:1: exception loading 'COMMON-LISP:DEFMACRO' - no such
class: gnu.commonlisp.lisp.primitives
defmacro.lisp:258:1: exception loading 'COMMON-LISP:DEFMACRO' - no such
class: gnu.commonlisp.lisp.primitives
defmacro.lisp:601:1: exception loading 'COMMON-LISP:DEFMACRO' - no such
class: gnu.commonlisp.lisp.primitives
make: *** [clisp-classes.stamp] Error 1
[Exit 2]

>
>> 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.

You mean exported in the module-export sense or exported from a package?

> 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.

Mostly I want to access all defined functions even those bound to
non-exported symbols.

Helmut



reply via email to

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