Pergunta

Dei uma olhada em alguns novos idiomas para a JVM. Dois deles estão ganhando muito interesse hoje em dia: Clojure e Scala. Mas, na minha humilde opinião, os dois não são ideais. (Vamos manter uma especulação, porque não quero me danificar discutindo ..)

O que eu realmente vejo como uma jogada complicada é a invenção da MS - f#. Simplesmente mover a linguagem OCAML para a plataforma .NET produz um pouco incrível.

A pergunta é: alguém conseguiu escrever um compilador OCAML completo para a JVM? O que você diria se essa é uma boa ideia?

Foi útil?

Solução

"Ocaml e Java" tem links para várias tentativas de integrar o Java ao OCAML.

F# é um pouco diferente do OCAML em aspectos devido ao desejo de fazê -lo trabalhar com a estrutura .NET, portanto, assim como o Scala é uma linguagem híbrida, assim como F#, como você pode escolher quanto FP deseja e quanto OOP você deseja, em qualquer idioma.

"Java, Ocaml e F#" é um post de alguém que tenta passar de Java para Ocaml, que você pode achar interessante.

Outras dicas

Que tal cafesterol: http://cafesterol.x9c.fr/

O cafesterol é uma extensão do suíte de compilador CAML objetivo que gera bytecode java. O Cafesterol fornece um compilador de ocamljava que é a contraparte Java dos compiladores OCAMLC/OCAMLOPT distribuídos com a distribuição padrão CAML objetiva. O cafesterol, em sua versão 1.3, constrói com a versão 3.11.1 do objetivo CAML. As classes Java produzidas precisam da versão 1.3 do cadmio para executar e podem ser executadas em qualquer máquina virtual Java 1.6.

Yeti é (embora sintaticamente um pouco diferente e extensões para a integração de Java) tanto no sistema de construções quanto no Typey, é baseado no ML como o OCAML. Devido ao seu poderoso suporte para tipos de registros (recursivos), acho que é atualmente o que se aproxima da OCAML.

Tipo de f# para a JVM.

http://mth.github.com/yeti/

OCAML-JAVA é o mais próximo de uma OCAML "oficial" para a JVM possível. Parece ser uma qualidade muito alta.

(Também, Haskell para a JVM: Frege)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top