Hi,

Am 28.07.2011 um 19:43 schrieb mmwaikar:

> Thanks again Meikel. Where can I read about things like bindRoot, intern or 
> to be precise java-clojure interop?

There are only a few things you must know:

- RT.var to get a variable from a namespace
- v.invoke to invoke a function stored in a Var

That's it. Then do the normal clojure stuff. bindRoot, intern and such are none 
of our concerns. (I don't know anything about them, either.)

So to load a namespace, you would say in Clojure:

(require 'some.name.space)

In Java, you to the same with more boilerplate:

RT.var("clojure.core", "require").invoke(RT.var("clojure.core", 
"symbol").invoke("some.name.space"))

This is my last information on how the officially blessed way to interface with 
Clojure from Java looks like. I'm not sure about RT.map.

If the thing you want to call is a macro, you have to hope that the library 
other provided the logic as star function (as in Nicolas' case). If there is no 
function containing the actual logic, you have to re-implement the macro in 
Java. cf. 
http://stackoverflow.com/questions/6672934/how-to-call-clojure-macros-from-java/6674923#6674923

Sincerely
Meikel

-- 
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