Het is een implementatie van de ML taal, gebaseerd op het Caml Light dialect uitgebreid met een volledige klasse gebaseerde object systeem en een krachtige modulesysteem in de stijl van Standard ML.
Doelstelling Caml bestaat uit twee compilers. Eén genereert bytecode die vervolgens wordt geïnterpreteerd door een C programma.
Deze compiler loopt snel, is draagbaar te wezen elke 32 of 64 bit Unix-platform en genereert compacte code met matige geheugen eisen.
Prestaties van de geproduceerde programma's is heel goed voor een bytecoded implementatie.
Deze compiler kan gebruikt worden als een stand-alone-batch georiënteerde compiler die standalone programma produceert, of als een interactief, toplevel-systeem.
De andere compiler produceert high-performance native code voor een aantal
processors.
Compilatie duurt langer en genereert groter code, maar de gegenereerde programma's leveren uitstekende prestaties, met behoud van de gematigde geheugen eisen van de bytecode compiler.
Doel Caml is de meest populaire variant van de Caml taal.
Vanuit een oogpunt van taal, het breidt de kern Caml taal met een volwaardig objectgeoriënteerde laag, evenals een krachtige module systeem, allemaal met elkaar verbonden door een geluid, polymorf type systeem met type inference.
De Doelstelling Caml systeem is een industrial-strength uitvoering van deze taal, met een high-performance native code compiler (ocamlopt) 9 processor architecturen (IA32, PowerPC, AMD64, Alpha, Sparc, Mips, IA64, HPPA, StrongArm), alsmede een bytecode-compiler (ocamlc) en een interactieve read-eval-print loop (ocaml) voor snelle ontwikkeling en draagbaarheid.
De Doelstelling Caml distributie bevat een uitgebreide standaard bibliotheek, een replay debugger (ocamldebug), lexer (ocamllex) en parser (ocamlyacc) generatoren, een pre-processor pretty-printer (camlp4) en een documentatie generator (ocamldoc).
Wat is nieuw in deze release:
- Bijgewerkt om Tcl / Tk 8.6.
- Weigeren meerdere aangiften van dezelfde methode of instantie variabele in een object.
- Propagate soort informatie richting patroon-matching, zelfs in de aanwezigheid van polymorfe varianten.
Wat is nieuw in versie 4.02.1:
- Bijgewerkt om Tcl / Tk 8.6.
- Weigeren meerdere aangiften van dezelfde methode of instantie variabele in een object.
- Propagate soort informatie richting patroon-matching, zelfs in de aanwezigheid van polymorfe varianten.
Wat is nieuw in versie 3.12.1:
- Knoppen vastgesteld:
- Ongebruikte variabelen niet gedetecteerd "bevatten (struct .. end)"
- camlp4 herziene syntax afdrukken bug in de toplevel (gemeld op CAML-lijst)
- configure: do _WIN32 niet bepalen onder cygwin
- Gehard generieke vergelijking in het geval waarin twee aangepaste blokken worden vergeleken en verschillende sets van klant-specifieke bewerkingen.
- gehard vergelijking tussen bigarrays in het geval waar de twee bigarrays verschillende soorten.
- Vast verkeerde autodetectie van expm1 () en log1p ().
- Voeg geen .exe achtervoegsel bij de installatie van de ocamlmktop shell script
- ocamldoc: minor fixes in verband met de weergave van ocamldoc opties
- Fixed bug met enorme waarden in OCAMLRUNPARAM
- Mismatch tussen de aangifte en de definitie van caml_major_collection_slice
- Feature wensen:
- Toegevoegde '-ML-synoniem' en '-mli-synoniem' opties om ocamldep
- Toegevoegde '-ocamldoc' optie om ocamlbuild
- Toegevoegd mogelijkheid om opties toe te voegen aan ocamlbuild
- Toegevoegd toegang tot actuele camlp4 parsers en printers
- Verbeterde instructie selectie voor float operaties op amd64
- Voegde een 'usage_string' functie om Arg
- Toestaan met beperkingen om een type vergelijking toe te voegen aan een datatype definitie
- Laat samenvoegen 'before' tags zoals anderen
- Laat afhankelijkheid bestand "_oasis"
- Andere wijzigingen:
- Gewijzigde standaard minor heapgrootte van 32k naar 256k woorden.
- Toegevoegd nieuwe operatie 'compare_ext' om aangepaste blokken, genoemd als een aangepaste blok waarde met een unboxed integer te vergelijken.
Wat is nieuw in versie 3.12.0:
- Record patronen van de vorm {lbl = pat; _} Om aan te geven dat niet alle etiketten worden vermeld, doelgericht.
- Waarschuwingen worden nu geteld en kan worden in- en uitgeschakeld individueel. Het oude systeem met letters verwijzen naar sets van waarschuwingen wordt nog steeds ondersteund.
- Toegevoegde optie '-Strikte-sequence' naar linker deel van opeenvolging te dwingen om het type unit te hebben.
- Map:. implementeren functies van Set die zinvol zijn voor Map
- ondersteuning toevoegen voor inheemse Dynlink.
- De semantiek van waarschuwing 7 (code 'M', methode override) zijn veranderd (het detecteert nu allemaal overschrijft, niet alleen herhaald definities binnen dezelfde klasse lichaam), en het is nu inactief standaard.
Wat is nieuw in versie 3.11.2:
- Betere documentatie voor min en max w.r.t. NaN
- ocamlbuild gebruikt verkeerde compiler voor C-bestanden
- ocamlbuild niet goed te gebruiken configuratie-informatie
- In sommige Windows-installaties, hoog opstarttijden voor Unix lib
- Probleem met scanf en CRLF
- ocamlmklib probleem onder Windows
- BSD probleem met socket adressen, bijv. in Unix.getnameinfo
- probleem met het ontleden van vlotter letterlijke door de GNU assembler
- Probleem met modules en een eigen types
Eisen
- GNU C-compiler - gcc
Reacties niet gevonden