2009-10-08 15 views
16

我看了一些用於JVM的新語言。其中兩個人最近引起了很多興趣:Clojure和Scala。但在我看來,他們都不理想。 (讓我們保持一個猜測,因爲我不想傷害自己討論..)用於JVM的OCaml。有沒有?

我真的看到作爲一個棘手的舉動是MS的發明 - F#。簡單地將OCaml語言移動到.NET平臺產生一些真棒。

問題是:有人設法爲JVM編寫全功能的OCaml編譯器嗎?如果這是一個好主意,你會說什麼?

回答

13

"OCaml and Java"鏈接到各種嘗試將Java與OCaml集成。由於希望與.NET框架一起工作,F#與OCaml在某些方面有所不同,因此,就像Scala是一種混合語言一樣,F#也是如此,因爲您可以選擇並選擇多少FP想要以及需要​​多少OOP,無論使用哪種語言。

"Java, OCaml, and F#"是有人試圖從Java移動到OCaml,您可能會感興趣的帖子。

+0

謝謝,詹姆斯。我不知道F#不會複製OCaml。 – Bubba88 2009-10-08 13:48:14

+0

它們非常相似,如果你注意你的OCaml源代碼應該在F#中工作,但他們擴展了F#for .NET。 – 2009-10-08 14:02:10

+0

只是因爲我很好奇,在什麼情況下ocaml代碼不工作爲F#? – LB40 2009-10-08 14:24:16

11

如何Cafesterol:http://cafesterol.x9c.fr/

Cafesterol是生成Java字節碼的語言Objective Caml編譯器套件的擴展。 Cafesterol提供了一個ocamljava編譯器,它是使用Objective Caml標準發行版分發的ocamlc/ocamlopt編譯器的Java對應編譯器。 Cafesterol在其1.3版本中構建了Objective Caml的3.11.1版本。生成的Java類需要運行Cadmium 1.3版本,並且可以在任何Java 1.6虛擬機上執行。

+0

最近的記錄條目是「版本1.4(2010-02-06)」; _; – 2017-08-15 13:19:31

4

在構造和類型系統中,Yeti是(儘管在語法上有點不同並且擴展了Java集成),它是基於像Ocaml這樣的ML。由於它對(遞歸)記錄類型的強大支持,我認爲它現在是最接近Ocaml的記錄類型。

JVM的F#排序。

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

2

Ocaml-Java是接近 「官方」 OCaml中的JVM,你可以得到。這似乎是非常高的質量。

(另外,哈斯克爾的JVM:Frege