Hi,

Am 16.05.2009 um 06:32 schrieb Paul Mooser:


I've been using clojure for a while at this point, and the approach
I've settled on launches clojure using -cp clojure.jar, and then my
user.clj file contains code that loads a bunch of thing into my
classpath.

After updating to r1369, which made some changes to classloaders that
I don't claim to understand, this approach does not seem to work
anymore, and even from a simple repl I'm not able to use add-classpath
to any noticeable effect.

Is this a bug, or is there some other way to use add-classpath in
order to achieve the result I want ?

I have also problems with the new class loading changes
of the ns macro. I posted a patch here on the list, which
splits contrib into several jars, which can be easily used
as dependencies via Ivy (eg. a 13k jar for c.c.def instead
of a 2.5Mb jar for whole contrib).

Now the latest changes are quite unfriendly to this setup.

The anonymous function in the ns macro is called "this".
To which jar should I assign the anonymous function which
are cluttered in classes/clojure/core$this.... ?

(BTW: proxy is similar unfriendly to modular packaging)

I wrote a patch, which modifies the ns macro to include the
name of the namespace. So that the .class files are now
named classes/clojure/core$clojure_contrib_def...

That's a first step. But now I ran into another problem. When
I only include the files belonging to c.c.def my code suddenly
fails because clojure/types$clojure_contrib_def... is not found!
Huh? How can c.c.def suddenly depend on something which
is going on in c.c.types?

I'm no JVM expert, let alone understanding the recent changes.
So maybe I'm simply doing something wrong here. I will try to
track down the issue. Any hints are appreciated, though.

Sincerely
Meikel

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to