Ich möchte ML lernen und verwenden, aber es gibt viele Compiler. Ich brauche:
Ich brauche nicht:
Zum Beispiel habe ich OCaml , OCaml gefunden Batterien enthalten und MLton . Irgendwelche Tipps für mich welche soll ich wählen?
Nun für MLton:
SML unterstützt Fortsetzungen besser. Wenn Sie ein starkes Bedürfnis nach Fortsetzungen haben, ist es eine bessere Wahl; OCaml hat keine Unterstützung in der Sprache für sie, aber es gibt die Delimcc Bibliothek von Oleg für die Begrenzung Fortsetzungen; Da es extern ist, ist es wahrscheinlich langsamer als die Implementierungen von SML. Ansonsten scheint OCaml in diesen Tagen mehr Zugkraft zu haben, also sollten Sie erwarten, dass die Werkzeuge und Bibliotheken etwas besser sind.
Generell ist SML tendenziell etwas eleganter, während OCaml einige erweiterte Funktionen, Macken und Benutzer hat. Leistungsmäßig sind sie beide gut.
(Siehe dies für einen syntaktischen Vergleich der meist verbreiteten Fragmente von beide Sprachen, natürlich sind OCamls Objekte und polymorphe Varianten nicht dargestellt.)
Ocaml erfüllt alle Anforderungen aus Ihrer Liste mit Ausnahme von Fortsetzungen. Es ist schnell, speicher-effizient, portabel, hat Posix-Threads-Bindings und gute Bibliotheken für leichte kooperative Threads. Die Standardbibliothek ist ziemlich begrenzt, aber es gibt viele Bibliotheken von Drittanbietern .
Es gibt viele Unternehmen, die OCaml in der Produktion für alle möglichen Dinge einsetzen. Einige der Unternehmen sind auf der Caml-Website aufgeführt.
Ich empfehle auch, einige ausgezeichnete OCaml Erfahrungsberichte zu lesen: