Aceasta este comanda js_of_ocaml care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
js_of_ocaml - OCaml bytecode la compilatorul Javascript
DESCRIERE
js_of_ocaml(1) este un compilator de la programele OCaml bytecode la Javascript. O face
este posibil să scrieți programe OCaml care rulează pe browsere web.
Vine cu legături pentru o mare parte a API-urilor browserului și a programelor generate
au fost măsurate pentru a rula, de obicei, mai rapid interpretorul de cod de octet OCaml.
UTILIZARE
Programul dvs. trebuie să fie mai întâi compilat folosind compilatorul OCaml bytecode ocamlc(1).
Legăturile Javascript, precum și o extensie de sintaxă corespunzătoare, sunt furnizate de
js_of_ocaml pachet.
ocamlfind ocamlc -pachet js_of_ocaml -pachet js_of_ocaml.syntax \
-sintaxă camlp4o -linkpkg -o fișier_intrare.byte fișier_intrare.ml
Apoi, rulați js_of_ocaml(1) compilator pentru a produce cod Javascript.
js_of_ocaml [ Opțiuni ] fişier_intrare.octet
OPŢIUNI
Următoarele opțiuni de linie de comandă sunt recunoscute de js_of_ocaml(1).
- depanare nume
modul de depanare nume
-dezactivare nume
dezactivați optimizarea nume
-frumos
imprimați destul de ieșire
-informații de depanare
ieșire informații de depanare
-noinline
dezactivați inlinierea
-noruntime
nu includ timpul de rulare standard
-nivel superior
alcătuiește un nivel superior
-I dir Adăuga dir la lista de directoare incluse
-o fişier
setați numele fișierului de ieșire la fişier
-Ajutor Afișează lista de opțiuni
--Ajutor Afișează lista de opțiuni
CARACTERISTICI, LIMITAREA
Întreaga bibliotecă standard OCaml ar trebui să fie acceptată, cu excepția canalelor de intrare/ieșire,
referințe slabe și majoritatea funcțiilor modulului Sys. Biblioteci suplimentare, cum ar fi Bigarray,
Unix, Thread sau Str nu sunt acceptate.
Apelul de coadă nu este optimizat în general. Cu toate acestea, funcțiile autorecursive (când coada
apelurile sunt către funcția în sine) sunt compilate într-o buclă.
Modulele recursive nu sunt acceptate momentan.
Reprezentarea datelor diferă de cea obișnuită, din motive de performanță. Mai ales,
numerele întregi sunt pe 32 de biți (în loc de 31 sau 63 de biți) și nu sunt încadrate în casete. În consecință,
funcțiile de marshalling, comparație polimorfă și hashing pot da rezultate diferite
decat deobicei:
· nu se acceptă triajarea flotoarelor (lucrări de demontare);
· funcția hash polimorfă nu va da aceleași rezultate pe structurile de date
care conțin flotoare;
· aceste funcții pot fi mai predispuse la depășirea stivei, deoarece stiva Javascript este mică.
Utilizați js_of_ocaml online folosind serviciile onworks.net