Es ist eine Implementierung des ML Sprache, basierend auf der Caml Licht Dialekt erweitert mit einem kompletten klassenbasierten Objektsystem und eine leistungsfähige Modulsystem im Stil der Standard ML.
Objective Caml zwei Compiler. Einen Bytecode erzeugt, der dann von einem C-Programm interpretiert.
Dieser Compiler läuft schnell, ist tragbar, um im wesentlichen jede 32 oder 64 Bit Unix-Plattform und generiert kompakten Code mit moderaten Speicheranforderungen.
Leistung des generierten Programme ist recht gut für eine bytecoded Umsetzung.
Dieser Compiler kann entweder als Standalone, chargenorientierten Compiler, der eigenständige Programme produziert, oder als interaktives, Toplevel-basiertes System.
Die andere Compiler erzeugt hochleistungs nativen Code für eine Reihe
von Prozessoren.
Compilation dauert länger und erzeugt größeren Code, aber die generierten Programme liefern hervorragende Leistung, unter Beibehaltung der gemäßigten Speicherbedarf des Bytecode-Compiler.
Objective Caml ist die beliebteste Variante des Caml Sprache.
Von einer Sprache Standpunkt, erweitert sie die Kern Caml Sprache mit einer vollwertigen objektorientierte Schicht, sowie ein leistungsfähiges Modul-System, alle durch einen Ton, polymorphe Typsystem mit Typinferenz verbunden.
Die Objective Caml System ist eine industrietaugliche Umsetzung dieser Sprache, mit einem High-Performance-Native-Code-Compiler (ocamlopt) für 9 Prozessorarchitekturen (IA32, PowerPC, AMD64, Alpha, Sparc, Mips, IA64, HPPA, StrongArm) sowie eine Bytecode-Compiler (ocamlc) und ein interaktives Lese-eval-print Schleife (ocaml) für die schnelle Entwicklung und Portabilität.
Die Objective Caml Distribution enthält ein umfassendes Standard-Bibliothek, ein Replay-Debugger (ocamldebug), Lexer (ocamllex) und Parser (ocamlyacc) Generatoren, ein Pre-Prozessor-Pretty-Printer (camlp4) und einem Dokumentationsgenerator (ocamldoc).
Was ist neu in dieser Pressemitteilung:
- Aktualisiert den Tcl / Tk 8.6.
- Ablehnen mehreren Deklarationen des gleichen Verfahrens oder Instanz-Variable in einem Objekt.
- Propagieren Typinformationen in Richtung Pattern-Matching, auch in Gegenwart von polymorphen Varianten.
Was ist neu in der Version 4.02.1:
- Aktualisiert den Tcl / Tk 8.6.
- Ablehnen mehreren Deklarationen des gleichen Verfahrens oder Instanz-Variable in einem Objekt.
- Propagieren Typinformationen in Richtung Pattern-Matching, auch in Gegenwart von polymorphen Varianten.
Was ist neu in der Version 3.12.1:
- Buds festgelegt:
- Unbenutzte Variablen nicht erfasst "gehören (struct .. end)"
- camlp4 überarbeitete Druck Syntax Fehler in der Toplevel (auf CAML-Liste berichtet)
- configure: nicht _WIN32 unter Cygwin definieren
- Gehärtete generischen Vergleich in dem Fall, in dem zwei benutzerdefinierte Blöcke werden miteinander verglichen und unterschiedliche Sätze von benutzerdefinierten Operationen.
- Gehärtete Vergleich zwischen bigarrays in dem Fall, wo die beiden bigarrays haben verschiedene Arten.
- Fixed falsche Erkennung von expm1 () und log1p ().
- Sie bei der Installation des ocamlmktop Shell-Skript EXE-Suffix nicht
- ocamldoc: kleinere Korrekturen auf die Anzeige der ocamldoc Optionen bezogen
- Fixed bug mit großen Werten in OCAMLRUNPARAM
- Mismatch zwischen Deklaration und Definition von caml_major_collection_slice
- Feature-Wünsche:
- Added '-ml-Buch "und" -mli-Synonym "Optionen, um ocamldep
- Added '-ocamldoc' Option, um ocamlbuild
- Möglichkeit hinzugefügt, um die Optionen in den ocamlbuild
- Hinzugefügt Zugriff auf aktuelle camlp4 Parser und Drucker
- Verbesserte Befehlsauswahl für Floatoperationen auf amd64
- eine 'usage_string' Funktion hinzugefügt, um Arg
- Lassen Sie mit Nebenbedingungen, eine Art Gleichung auf eine Datentypdefinition hinzufügen
- Lassen Sie die 'Before "Tags wie andere, die verschmelzen
- Lassen Sie die Abhängigkeit von Datei "_oasis"
- Weitere Änderungen:
- Geänderte Standard kleinere Heap-Größe von 32k auf 256k Worte.
- Es wurden neue Operation "compare_ext ', um benutzerdefinierte Blöcke, genannt bei einem Vergleich eine benutzerdefinierte Blockwert mit einem unboxed ganze Zahl ist.
Was ist neu in der Version 3.12.0:
- Nehmen Muster der Form {LBL = pat; _}, Um zu kennzeichnen, dass nicht alle Etiketten aufgeführt werden, zielgerichtet.
- Warnungen sind nun nummeriert und kann ein- und ausgeschaltet werden einzeln. Das alte System mit den Buchstaben, die sich auf Gruppen von Warnungen wird weiterhin unterstützt.
- Neue Option '-strict-sequence "linken Teil der Sequenz zu zwingen, um Typ-Gerät haben.
- Karte:. Gerätefunktionen vom Set, die Sinn für die Karte zu machen
- Hinzufügen von Unterstützung für nativen Dynlink.
- Die Semantik der Warnung 7 (Code "M", Methodenüberschreibung) haben sich geändert (es erkennt nun alle Überschreibungen, nicht nur wiederholt, Definitionen innerhalb der gleichen Klasse Körper), und es ist nun standardmäßig deaktiviert.
Was ist neu in der Version 3.11.2:
- Bessere Dokumentation für min und max w.r.t. NaN
- verwendet ocamlbuild falsche Compiler für C-Dateien
- ocamlbuild nicht ordnungsgemäß verwenden, Konfigurationsinformationen
- Unter einigen Windows-Installationen, hohe Anlaufzeiten für Unix lib
- Problem scanf und CRLF
- ocamlmklib Problem unter Windows
- BSD Problem mit Socket-Adressen, z.B. in Unix.getnameinfo
- Problem beim Parsen von float Literale durch den GNU Assembler
- Problem mit Modulen und private Typen
Anforderungen :
- GNU C Compiler - GCC
Kommentare nicht gefunden