Looks like it is a bug in Clojure.

Create foo.clj:

(ns foo)
(let []
  (defn foo [] :foo))

Then call foo from REPL:

$ java -cp .:clojure-1.3.0-alpha6.jar clojure.main
Clojure 1.3.0-alpha6
user=> (use 'foo)
nil
user=> (foo)
ClassNotFoundException foo$eval9$foo__10  java.lang.Class.forName0
(Class.java:-2)

But it works if foo.clj is AOT-compiled before starting REPL:

$ java -cp .:clojure-1.3.0-alpha6.jar -Dclojure.compile.path=.
clojure.lang.Compile foo
Compiling foo to .
$ java -cp .:clojure-1.3.0-alpha6.jar clojure.main
Clojure 1.3.0-alpha6
user=> (use 'foo)
nil
user=> (foo)
:foo

This bug also seems to prevent swank-clojure from working with
clojure-1.3.0-alpha6 unless swank-clojure is AOT-compiled.

On 1 апр, 03:06, Feng <hou...@gmail.com> wrote:
> Hello,
>
> Is this code valid?
>
> Clojure 1.3.0-master-SNAPSHOT
> user=>
> (let []
>   (defn foo [] :foo))
> #'user/foo
> user=> (foo)
> ClassNotFoundException user$eval1450$foo__1451
> java.lang.Class.forName0 (Class.java:-2)
>
> It was valid before this commit.
>
> https://github.com/clojure/clojure/commit/71930b6b6537a796cdf13c4ffa7...
>
> Regards,
> - Feng

-- 
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
Note that posts from new members are moderated - please be patient with your 
first post.
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