Ito ang command na js_of_ocaml na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
js_of_ocaml - OCaml bytecode sa Javascript compiler
DESCRIPTION
js_of_ocaml(1) ay isang compiler mula sa OCaml bytecode programs hanggang sa Javascript. Ginagawa ito
posibleng magsulat ng mga programang OCaml na tumatakbo sa mga web browser.
May kasama itong mga binding para sa malaking bahagi ng mga API ng browser, at ang mga nabuong programa
ay nasusukat upang karaniwang tumakbo nang mas mabilis ang OCaml bytecode interpreter.
PAGGAMIT
Ang iyong programa ay dapat munang i-compile gamit ang OCaml bytecode compiler ocamlcNa (1).
Ang mga Javascript binding, pati na rin ang kaukulang extension ng syntax, ay ibinibigay ng
js_of_ocaml Pakete.
ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax \
-syntax camlp4o -linkpkg -o input_file.byte input_file.ml
Pagkatapos, patakbuhin ang js_of_ocaml(1) compiler upang makagawa ng Javascript code.
js_of_ocaml [ pagpipilian ] input_file.byte
Opsyon
Ang mga sumusunod na opsyon sa command-line ay kinikilala ng js_of_ocamlNa (1).
-debug pangalan
Debug Module pangalan
- huwag paganahin pangalan
huwag paganahin ang pag-optimize pangalan
-maganda
medyo i-print ang output
-debuginfo
impormasyon sa pag-debug ng output
-noinline
huwag paganahin ang inlining
-Noruntime
huwag isama ang karaniwang runtime
-Toplevel
mag-compile ng toplevel
-I dir Idagdag dir sa listahan ng mga isama ang mga direktoryo
-o file
itakda ang pangalan ng file ng output sa file
-tulong Ipakita ang listahan ng mga opsyon
- Tumulong Ipakita ang listahan ng mga opsyon
MGA TAMPOK, LIMITASYON
Dapat na suportahan ang buong OCaml standard library, maliban sa mga channel ng input/output,
mahinang mga sanggunian, at karamihan sa mga function ng Sys module. Mga karagdagang aklatan tulad ng Bigarray,
Ang Unix, Thread o Str ay hindi suportado.
Ang tail call ay hindi na-optimize sa pangkalahatan. Gayunpaman, ang self-recursive function (kapag ang buntot
ang mga tawag ay sa mismong function) ay pinagsama-sama sa isang loop.
Ang mga recursive module ay hindi sinusuportahan sa ngayon.
Ang representasyon ng data ay naiiba mula sa karaniwan, para sa mga kadahilanan ng pagganap. Kapansin-pansin,
ang mga integer ay 32 bit (sa halip na 31 o 63 bits) at ang mga float ay hindi naka-box. Bilang kapalit,
Ang marshalling, polymorphic na paghahambing, at pag-hash ay maaaring magbunga ng iba't ibang resulta
kaysa karaniwan:
· Ang pag-marshalling ng mga float ay hindi suportado (unmarshalling works);
· ang polymorphic hash function ay hindi magbibigay ng parehong mga resulta sa mga istruktura ng data
naglalaman ng mga float;
· Ang mga function na ito ay maaaring mas madaling kapitan ng stack overflow, dahil maliit ang Javascript stack.
Gamitin ang js_of_ocaml online gamit ang mga serbisyo ng onworks.net