Ini ialah arahan js_of_ocaml yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS
JADUAL:
NAMA
js_of_ocaml - OCaml bytecode kepada pengkompil Javascript
DESCRIPTION
js_of_ocaml(1) ialah pengkompil daripada program kod bait OCaml kepada Javascript. Ia menjadikannya
mungkin untuk menulis program OCaml yang dijalankan pada pelayar web.
Ia disertakan dengan pengikatan untuk sebahagian besar API penyemak imbas, dan program yang dijana
telah diukur untuk biasanya berjalan lebih cepat penterjemah kod bait OCaml.
PENGGUNAAN
Program anda mesti disusun terlebih dahulu menggunakan pengkompil bytecode OCaml ocamlc(1).
Pengikatan Javascript, serta sambungan sintaks yang sepadan, disediakan oleh
js_of_ocaml pakej.
ocamlfide ocamlc -pakej js_of_ocaml -pakej js_of_ocaml.syntax \
-sintaks camlp4o -linkpkg -o input_file.bait input_file.ml
Kemudian, jalankan js_of_ocaml(1) pengkompil untuk menghasilkan kod Javascript.
js_of_ocaml [ pilihan ] input_file.bait
PILIHAN
Pilihan baris arahan berikut diiktiraf oleh js_of_ocaml(1).
-nyahpepijat nama
modul nyahpepijat nama
-lumpuhkan nama
lumpuhkan pengoptimuman nama
-cantik
cantik mencetak output
-debuginfo
maklumat nyahpepijat output
-noinline
lumpuhkan inlining
-noruntime
jangan masukkan masa jalan standard
-tingkat atas
menyusun peringkat atasan
-I dir Tambah dir ke senarai termasuk direktori
-o fail
tetapkan nama fail output kepada fail
-membantu Paparkan senarai pilihan
- membantu Paparkan senarai pilihan
CIRI-CIRI, HADAH
Keseluruhan perpustakaan standard OCaml harus disokong, kecuali untuk saluran input/output,
rujukan yang lemah, dan kebanyakan fungsi modul Sys. Perpustakaan tambahan seperti Bigarray,
Unix, Thread atau Str tidak disokong.
Panggilan ekor tidak dioptimumkan secara umum. Walau bagaimanapun, fungsi rekursif sendiri (apabila ekor
panggilan adalah kepada fungsi itu sendiri) disusun menjadi gelung.
Modul rekursif tidak disokong pada masa ini.
Perwakilan data berbeza daripada yang biasa, atas sebab prestasi. Terutamanya,
integer ialah 32 bit (bukannya 31 atau 63 bit) dan terapung tidak berkotak. Sebagai akibatnya,
marshalling, perbandingan polimorfik dan fungsi pencincangan boleh menghasilkan hasil yang berbeza
daripada biasa:
· mengarsir terapung tidak disokong (kerja-kerja unmarshalling);
· fungsi cincang polimorfik tidak akan memberikan hasil yang sama pada struktur data
mengandungi terapung;
· fungsi ini mungkin lebih terdedah kepada limpahan tindanan, kerana tindanan Javascript adalah kecil.
Gunakan js_of_ocaml dalam talian menggunakan perkhidmatan onworks.net