2009-10-08 18 views
16

Spojrzałem na kilka nowych języków dla JVM. Dwóch z nich ostatnio cieszy się dużym zainteresowaniem: Clojure i Scala. Ale w mojej skromnej opinii, obaj nie są idealni. (Zachowajmy spekulację, bo nie chcę uszkodzić siebie dyskutując ..)OCaml dla JVM. Czy jest jakiś?

To, co w rzeczywistości uważam za trudny ruch, to wynalazek MS - F #. Po prostu przeniesienie języka OCaml na platformę .NET daje trochę więcej niesamowitości.

Pytanie brzmi: Czy ktoś zdołał napisać w pełni funkcjonalny kompilator OCaml dla JVM? Co byś powiedział, gdyby to był dobry pomysł?

Odpowiedz

13

"OCaml and Java" zawiera łącza do różnych prób integracji Java z OCaml.

F # różni się nieco od OCaml w aspektach związanych z chęcią działania ze środowiskiem .NET, więc podobnie jak Scala jest językiem hybrydowym, tak samo jak F #, ponieważ można wybrać i wybrać, ile FP chcę i ile OOP chcesz, w każdym języku.

"Java, OCaml, and F#" to post od kogoś, kto próbuje przejść z Java do OCaml, co może Cię zainteresować.

+0

Dzięki, James. Nie wiedziałem, że F # nie kopiuje OCaml. – Bubba88

+0

Są bardzo podobne i jeśli jesteś ostrożny, twoje źródło OCaml powinno działać w języku F #, ale rozszerzyło F # dla .NET. –

+0

tylko dlatego, że jestem ciekawy, w jakich przypadkach kod ocaml nie działa jako F #? – LB40

11

Jak o Cafesterol: http://cafesterol.x9c.fr/

Cafesterol jest rozszerzeniem pakietu kompilatora Celu Caml który generuje kodu bajtowego Java. Cafesterol dostarcza kompilator ocamljava, który jest odpowiednikiem Java kompilatorów ocamlc/ocamlopt dystrybuowanych ze standardową dystrybucją Objective Caml. Cafesterol, w wersji 1.3, jest zbudowany w wersji 3.11.1 Objective Caml. Produkowane klasy Java potrzebują 1.3 wersji Cadmium do uruchomienia i mogą być wykonywane na dowolnej wirtualnej maszynie Java 1.6.

+0

Ostatnia historia to "Wersja 1.4 (2010-02-06)"; –

4

Yeti jest (choć trochę syntaktycznie i rozszerzeniami do integracji Java) zarówno w konstrukcji, jak i systemie plików bazuje na ML jak Ocaml. Ze względu na potężne wsparcie dla rekurencyjnych typów rekordów uważam, że obecnie jest najbliższy Ocaml.

Sortowanie F # dla JVM.

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

2

Ocaml-Java jest tak blisko do „oficjalnej” SML dla JVM, jak można dostać. Wydaje się być bardzo wysokiej jakości.

(Również Haskell dla JVM: Frege)

Powiązane problemy