js_of_ocaml - Online in de cloud

Dit is de opdracht js_of_ocaml die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


js_of_ocaml - OCaml bytecode naar Javascript-compiler

PRODUCTBESCHRIJVING


js_van_ocaml(1) is een compiler van OCaml bytecode-programma's naar Javascript. Het maakt het
mogelijk om OCaml-programma's te schrijven die op webbrowsers draaien.

Het wordt geleverd met bindingen voor een groot deel van de browser-API's en de gegenereerde programma's
zijn gemeten om de OCaml bytecode-interpreter doorgaans sneller te laten werken.

GEBRUIK


Uw programma moet eerst worden gecompileerd met behulp van de OCaml bytecode-compiler ocamlc(1).
Javascript-bindingen, evenals een bijbehorende syntaxisextensie, worden geleverd door de
js_van_ocaml pakket.

ocamlfind ocamlc -pakket js_of_ocaml -pakket js_of_ocaml.syntaxis
-syntaxis camlp4o -linkpkg -o input_file.byte input_file.ml

Voer vervolgens de js_van_ocaml(1) compiler om Javascript-code te produceren.

js_van_ocaml [ opties ] invoer_bestand.byte

OPTIES


De volgende opdrachtregelopties worden herkend door: js_van_ocaml(1).

-debuggen naam
debug-module naam

-uitzetten naam
optimalisatie uitschakelen naam

-mooi
mooie print de output

-debuginfo
uitvoer foutopsporingsinfo

-geenlijn
inlining uitschakelen

-nooit
omvatten niet de standaard runtime

-topniveau
een toplevel samenstellen

-I dir Toevoegen dir naar de lijst met directory's opnemen

-o filet
zet de naam van het uitvoerbestand op filet

-Help Toon de lijst met opties

--help Toon de lijst met opties

KENMERKEN, Beperkingen


De hele OCaml-standaardbibliotheek moet worden ondersteund, behalve de invoer-/uitvoerkanalen,
zwakke referenties en de meeste functies van de Sys-module. Extra bibliotheken zoals Bigarray,
Unix, Thread of Str worden niet ondersteund.

Tail call is over het algemeen niet geoptimaliseerd. Echter, zelf-recursieve functies (wanneer de staart
aanroepen zijn naar de functie zelf) worden in een lus gecompileerd.

Recursieve modules worden momenteel niet ondersteund.

Gegevensrepresentatie verschilt van de gebruikelijke, om prestatieredenen. Het meest opvallend is,
gehele getallen zijn 32 bits (in plaats van 31 of 63 bits) en floats zijn niet omkaderd. Als gevolg hiervan,
marshalling, polymorfe vergelijking en hashing-functies kunnen verschillende resultaten opleveren
dan normaal:

· het opstellen van praalwagens wordt niet ondersteund (ontruimingswerken);

· de polymorfe hashfunctie geeft niet dezelfde resultaten op datastructuren
met drijvers;

· deze functies kunnen vatbaarder zijn voor stack-overflow, aangezien de Javascript-stack klein is.

Gebruik js_of_ocaml online met onworks.net-services



Nieuwste Linux & Windows online programma's