Questo è il comando js_of_ocaml che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
js_of_ocaml - bytecode OCaml al compilatore Javascript
DESCRIZIONE
js_di_ocaml(1) è un compilatore da programmi bytecode OCaml a Javascript. lo fa
possibile scrivere programmi OCaml che girano su browser web.
Viene fornito con collegamenti per gran parte delle API del browser e i programmi generati
sono stati misurati per eseguire in genere più velocemente l'interprete di bytecode OCaml.
USO
Il tuo programma deve essere prima compilato utilizzando il compilatore bytecode OCaml ocamlc(1).
I collegamenti Javascript, così come una corrispondente estensione della sintassi, sono forniti da
js_di_ocaml pacchetto.
ocamlfind ocamlc -pacchetto js_of_ocaml -pacchetto js_of_ocaml.syntax \
-syntax camlp4o -linkpkg -o file_input.byte file_input.ml
Quindi, esegui il file js_di_ocaml(1) compilatore per produrre codice Javascript.
js_di_ocaml [ Opzioni ] file_input.byte
VERSIONI
Le seguenti opzioni della riga di comando sono riconosciute da js_di_ocaml(1).
-debug Nome
modulo di debug Nome
-disattivare Nome
disabilita l'ottimizzazione Nome
-bella
piuttosto stampa l'output
-informazioni di debug
informazioni di debug dell'output
-noinline
disabilita l'inlining
-noruntime
non includere il runtime standard
-livello superiore
compilare un livello superiore
-I dir Aggiungi dir all'elenco delle directory di inclusione
-o filetto
imposta il nome del file di output su filetto
-Aiuto Visualizza l'elenco delle opzioni
--Aiuto Visualizza l'elenco delle opzioni
CARATTERISTICHE, LIMITAZIONI
L'intera libreria standard OCaml dovrebbe essere supportata, ad eccezione dei canali di input/output,
riferimenti deboli e la maggior parte delle funzioni del modulo Sys. Librerie extra come Bigarray,
Unix, Thread o Str non sono supportati.
La chiamata in coda non è ottimizzata in generale. Tuttavia, le funzioni auto-ricorsive (quando la coda
le chiamate sono alla funzione stessa) sono compilate in un ciclo.
I moduli ricorsivi non sono supportati al momento.
La rappresentazione dei dati è diversa da quella consueta, per motivi di prestazioni. Soprattutto,
i numeri interi sono a 32 bit (invece di 31 o 63 bit) e i float non sono in box. Come conseguenza,
il marshalling, il confronto polimorfico e le funzioni di hashing possono produrre risultati diversi
del solito:
· lo smistamento dei galleggianti non è supportato (lavori di smistamento);
· la funzione hash polimorfica non darà gli stessi risultati sulle strutture dati
contenente galleggianti;
· queste funzioni possono essere più soggette all'overflow dello stack, poiché lo stack Javascript è piccolo.
Usa js_of_ocaml online utilizzando i servizi onworks.net