OCaml para JVM. ¿Hay alguna?
jvm-languages (4)
Eché un vistazo a algunos nuevos idiomas para JVM. Dos de ellos están reuniendo mucho interés en estos días: Clojure y Scala. Pero en mi humilde opinión, ambos no son ideales. (Mantengámoslo como una especulación, porque no quiero hacerme daño discutiendo ...)
Lo que realmente veo como un movimiento complicado es la invención de MS - F #. El simple hecho de mover el lenguaje OCaml a la plataforma .NET produce algo impresionante.
La pregunta es: ¿Alguien se las arregló para escribir un compilador OCaml completo para la JVM? ¿Qué dirías si es una buena idea?
¿Qué hay de Cafesterol: http://cafesterol.x9c.fr/
Cafesterol es una extensión del conjunto de compiladores Objective Caml que genera el código de bytes de Java. Cafesterol proporciona un compilador de ocamljava que es la contrapartida de Java de los compiladores de ocamlc / ocamlopt distribuidos con la distribución estándar de Objective Caml. Cafesterol, en su versión 1.3 se construye con la versión 3.11.1 de Objective Caml. Las clases Java producidas necesitan la versión 1.3 de Cadmium para ejecutarse y se pueden ejecutar en cualquier máquina virtual Java 1.6.
Yeti es (aunque sintácticamente un poco diferente y extensiones para Java-Integration) tanto en las construcciones como en el sistema de tipos en el que se basa en ML como Ocaml. Debido a su potente soporte para tipos de registros (recursivos), creo que actualmente es el que más se acerca a Ocaml.
Tipo de F # para la JVM.
"OCaml y Java" tiene enlaces a varios intentos de integrar Java con OCaml.
F # es algo diferente de OCaml en aspectos debido al deseo de que funcione con .NET framework, por lo que, al igual que Scala es un lenguaje híbrido, también lo es F #, ya que puede elegir la cantidad de PF que desea y la cantidad OOP que quieras, en cualquier idioma.
"Java, OCaml y F #" es una publicación de alguien que intenta pasar de Java a OCaml y que puede ser interesante.
Ocaml-Java es lo más cercano a un OCaml "oficial" para la JVM que puede obtener. Parece ser de muy alta calidad.
(También, Haskell para la JVM: Frege )