Basically, the issue is: When a deftype/defrecord named class is used from Java, its containing namespace is not loaded automatically, so even calling a function in the same namespace will raise an exception like this:
java.lang.IllegalStateException: Attempting to call unbound fn ... An example: (ns my-ns.core) (defn test-func [] ) (defrecord testrec [] ITestProtocol (init [this] (test-func))) In Java side, the below will fail: rec = new testrec(); rec.init(); with an exception raised java.lang.IllegalStateException: Attempting to call unbound fn #'my- ns.core/test-func. This issue was raised before about 1 and half year ago here: https://groups.google.com/forum/#!msg/clojure-dev/4CtSVWcD15A/shpMuyjMpxsJ And a work-around is provided, like here: http://stackoverflow.com/questions/10953621/clojure-deftype-calling-function-in-the-same-namespace-throws-java-lang-illegal It took me hours to figure out the problem as everything works fine in REPL itself. Does anybody know if this issue will be addressed? Thank you. -- 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