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
smime.p7s
Description: S/MIME cryptographic signature