scala clojure

clojure y scala interop



(2)

Estoy familiarizado con el hecho de que las clases / objetos scala pueden invocarse desde clojure, como scala compila a bytecode, y clojure se siente cómodo con él.

Sin embargo, ¿es tan sencillo invocar funciones de clojure e importar espacios de nombres de scala?

Me gustaría mezclar el excelente marco de elevación y clojure, básicamente, llamar al código de clojure desde el ascensor.


FWIW, tuve una experiencia similar recientemente. No siempre es fácil consumir bibliotecas scala en una base de código de clojure. Si los autores de la biblioteca no han tenido en cuenta a los consumidores scala mientras diseñan la API, la integración puede ser trivial. Si no, puede que tenga que aprender los detalles de qué interfaz java está producida por la biblioteca scala que está tratando de consumir.

Hace poco escribí una documentación sobre este tema exacto ( https://github.com/grandbora/clojure-scala-cantrips#clojure-scala-cantrips ) y hay algunas bibliotecas de clojure que ofrecen sintaxis para el consumo de bibliotecas scala.


La semántica para las importaciones en Scala es básicamente la misma que Java. Debería poder obtener la información que necesita leyendo sobre cómo invocar el código de Clojure desde Java, luego aplique los mismos principios en Scala.

Si desea compilar su código Clojure e incluirlo como JAR en su classpath, esta publicación debería ser relevante:

Llamando a Clojure desde Java

Si prefiere compilar / interpretar dinámicamente los archivos .clj, debe leer esto:

Programación Clojure: invocación de Clojure desde Java

La primera opción me parece mucho más agradable.