For the first time I tried to use gen-class (using svn r1156), but
unfortunately compilation fails:

u...@computer /tmp $ mkdir test
u...@computer /tmp $ cd test/
u...@computer /tmp/test $ mkdir -p clojure/examples
u...@computer /tmp/test $ gvim clojure/examples/instance.clj  ;copied
the source from http://clojure.org/compilation into the editor and
saved it [1]
u...@computer /tmp/test $ mkdir classes
u...@computer /tmp/test $ java -cp
.:classes:/opt/clojure/clojure/trunk/clojure.jar clojure.main
Clojure
user=> (compile 'clojure.examples.instance)
java.lang.RuntimeException: java.lang.ClassNotFoundException:
clojure.examples.instance$_init__4 (NO_SOURCE_FILE:0)
user=> (.printStackTrace *e)
java.lang.RuntimeException: java.lang.ClassNotFoundException:
clojure.examples.instance$_init__4 (NO_SOURCE_FILE:0)
        at clojure.lang.Compiler.eval(Compiler.java:4147)
        at clojure.core$eval__3542.invoke(core.clj:1486)
        at clojure.main$repl__5154$fn__5169.invoke(main.clj:100)
        at clojure.main$repl__5154.doInvoke(main.clj:96)
        at clojure.lang.RestFn.invoke(RestFn.java:426)
        at clojure.main$repl_opt__5194.invoke(main.clj:153)
        at clojure.main$_main__5218.doInvoke(main.clj:228)
        at clojure.lang.RestFn.invoke(RestFn.java:402)
        at clojure.lang.AFn.applyToHelper(AFn.java:191)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.main.main(Unknown Source)
Caused by: java.lang.RuntimeException:
java.lang.ClassNotFoundException: clojure.examples.instance$_init__4
        at clojure.lang.Compiler$FnExpr.getCompiledClass(Compiler.java:3211)
        at clojure.lang.Compiler$FnExpr.emit(Compiler.java:3223)
        at clojure.lang.Compiler$DefExpr.emit(Compiler.java:318)
        at clojure.lang.Compiler.compile(Compiler.java:4560)
        at clojure.lang.RT.compile(RT.java:362)
        at clojure.lang.RT.load(RT.java:404)
        at clojure.lang.RT.load(RT.java:376)
        at clojure.core$load__4555$fn__4557.invoke(core.clj:3427)
        at clojure.core$load__4555.doInvoke(core.clj:3426)
        at clojure.lang.RestFn.invoke(RestFn.java:413)
        at clojure.core$load_one__4518.invoke(core.clj:3271)
        at clojure.core$compile__4561$fn__4563.invoke(core.clj:3437)
        at clojure.core$compile__4561.invoke(core.clj:3436)
        at user$eval__1.invoke(Unknown Source)
        at clojure.lang.Compiler.eval(Compiler.java:4136)
        ... 10 more
Caused by: java.lang.ClassNotFoundException: clojure.examples.instance$_init__4
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at clojure.lang.DynamicClassLoader.findClass(DynamicClassLoader.java:52)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at clojure.lang.RT.classForName(RT.java:1504)
        at clojure.lang.Compiler$FnExpr.getCompiledClass(Compiler.java:3202)
        ... 24 more
nil

Did I miss anything?

Many thanks,
nt


---------------------------
[1] For reference here is the code from instance.clj

(ns clojure.examples.instance
    (:gen-class
     :implements [java.util.Iterator]
     :init init
     :constructors {[String] []}
     :state state))

(defn -init [s]
  [[] (ref {:s s :index 0})])

(defn -hasNext [this]
  (let [{:keys [s index]} @(.state this)]
    (< index (count s))))

(defn -next [this]
  (let [{:keys [s index]} @(.state this)
        ch (.charAt s index)]
    (dosync (alter (.state this) assoc :index (inc index)))
    ch))

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to