Come già accennato, è possibile accedere alle classi Clojure da Groovy tramite la pre-compilazione.
È possibile accedere a più popolare scripting lingue tramite Java 6 di API di scripting come pure, se Scala e Clojure non sembrano essere ufficialmente supportata. Ecco alcuni esempi da Groovy:
http://groovy.codehaus.org/JSR-223+access+to+other+JVM+languages
È anche possibile ottenere l'accesso alle classi di Clojure da Groovy, per esempio (Per Groovy 1,7 snapshot):
@Grab(group='org.clojure', module='clojure', version='1.0.0')
import clojure.lang.*
def ss = StringSeq.create('The quick brown fox')
def done = false
while (!done) {
println ss.first()
ss = ss.next()
done = !ss
}
o interagire tramite la creazione di un nuovo processo (ancora per Groovy 1,7 snapshot):
@Grab(group='org.clojure', module='clojure', version='1.0.0')
import clojure.lang.Script
def src = new File('temp.clj')
src.text = '''
(defn factorial [n]
(if (< n 2)
1
(* n (factorial (- n 1)))))
(println (factorial 4))
'''
def path = System.getProperty('user.home') + '/.groovy/grapes/org.clojure/clojure/jars/clojure-1.0.0.jar'
new AntBuilder().with {
java(classname:Script.name, classpath:path) {
arg(value:src.path)
}
}
C'è anche un plugin Clojure per Grails che fornisce un facile accesso per l'esecuzione codice clojure da qualsiasi Grails manufatto (controllori, Taglibs, servizi, ecc ...):
http:// grails.org/plugin/clojure
fonte
2009-07-28 00:47:12
E 'anche possibile utilizzare Clojure generato classi in codice Java e viceversa: così l'intera Clojure <-> Java <-> percorso Groovy dovrebbe funzionare – mikera