2009-10-08 8 views
16

Я взглянул на некоторые новые языки для JVM. Двое из них сегодня очень заинтересованы: Clojure и Scala. Но по моему скромному мнению, оба они не идеальны. (Давайте держать это в спекуляциях, потому что я не хочу причинять себе вред).OCaml для JVM. Есть ли?

То, что я на самом деле вижу как сложный шаг, - это изобретение MS - F #. Простое перемещение языка OCaml на платформу .NET дает несколько потрясающий результат.

Вопрос: Кто-нибудь сумел написать полнофункциональный компилятор OCaml для JVM? Что бы вы сказали, если это хорошая идея?

ответ

13

"OCaml and Java" имеет ссылки на различные попытки интеграции Java с OCaml.

F # несколько отличается от OCaml в аспектах из-за желания работать с .NET framework, так что, поскольку Scala - это гибридный язык, так же как и F #, так как вы можете выбрать, сколько FP вы хотите и сколько ООП вы хотите, на любом языке.

"Java, OCaml, and F#" это сообщение от кого-то, пытающегося перейти с Java на OCaml, которое может показаться вам интересным.

+0

Спасибо, Джеймс. Я не знал, что F # не копирует OCaml. – Bubba88

+0

Они очень похожи, и если вы будете осторожны, ваш источник OCaml должен работать в F #, но они расширили F # для .NET. –

+0

только потому, что мне любопытно, в каких случаях код ocaml не работает как F #? – LB40

11

Как насчет Cafesterol: http://cafesterol.x9c.fr/

Cafesterol является продолжением Objective Compiler Suite Caml, который генерирует Java байт-код. Cafesterol предоставляет компилятор ocamljava, который является Java-компилятором компиляторов ocamlc/ocamlopt, распределенных стандартным распределением Objective Caml. Cafesterol, в версии 1.3, строит версию 3.11.1 Objective Caml. Для созданных классов Java требуется версия 1.3 для Cadmium для запуска и может быть выполнена на любой виртуальной машине Java 1.6.

+0

Последняя запись истории «Версия 1.4 (2010-02-06)»;; –

4

Yeti (хотя синтаксически немного отличается и расширения для Java-интеграции) в обеих конструкциях и системах типов основан на ML, как Ocaml. Из-за его мощной поддержки (рекурсивных) типов записей я думаю, что в настоящее время это тот, который ближе всего подходит к Ocaml.

Сортировка F # для JVM.

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

2

Ocaml-Java как можно ближе к «официальной» OCaml для виртуальной машины Java, как вы можете получить. Это кажется очень высоким качеством.

(Кроме того, Haskell для виртуальной машины Java: Frege)

Смежные вопросы