Ini adalah perintah js_of_ocaml yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS
PROGRAM:
NAMA
js_of_ocaml - OCaml bytecode ke kompiler Javascript
DESKRIPSI
js_of_ocaml(1) adalah kompiler dari program bytecode OCaml ke Javascript. Itu membuatnya
memungkinkan untuk menulis program OCaml yang berjalan di browser web.
Muncul dengan binding untuk sebagian besar API browser, dan program yang dihasilkan
telah diukur untuk menjalankan interpreter bytecode OCaml lebih cepat.
PENGGUNAAN
Program Anda harus terlebih dahulu dikompilasi menggunakan kompiler bytecode OCaml ocamlc(1).
Binding Javascript, serta ekstensi sintaks yang sesuai, disediakan oleh
js_of_ocaml paket.
ocamlfind ocamlc -paket js_of_ocaml -paket js_of_ocaml.syntax \
-sintaks camlp4o -linkpkg -o input_file.byte input_file.ml
Kemudian, jalankan js_of_ocaml(1) compiler untuk menghasilkan kode Javascript.
js_of_ocaml [ Pilihan ] masukan_file.byte
PILIHAN
Opsi baris perintah berikut dikenali oleh: js_of_ocaml(1).
-debug nama
modul debug nama
-cacat nama
nonaktifkan pengoptimalan nama
-cantik
cukup cetak outputnya
-info debug
keluaran informasi debug
-noinline
nonaktifkan inlining
-no runtime
tidak termasuk runtime standar
-tingkat terbaik
kompilasi tingkat atas
-I dir Add dir ke daftar direktori include
-o fillet
atur nama file keluaran menjadi fillet
-bantu Tampilkan daftar opsi
--membantu Tampilkan daftar opsi
FITUR, PEMBATASAN
Seluruh pustaka standar OCaml harus didukung, kecuali untuk saluran input/output,
referensi lemah, dan sebagian besar fungsi modul Sys. Pustaka tambahan seperti Bigarray,
Unix, Thread atau Str tidak didukung.
Panggilan ekor tidak dioptimalkan secara umum. Namun, fungsi rekursif diri (ketika ekor
panggilan ke fungsi itu sendiri) dikompilasi menjadi satu lingkaran.
Modul rekursif tidak didukung saat ini.
Representasi data berbeda dari yang biasa, karena alasan kinerja. Terutama,
bilangan bulat adalah 32 bit (bukan 31 atau 63 bit) dan float tidak dikotak. Sebagai konsekuensi,
marshalling, perbandingan polimorfik, dan fungsi hashing dapat menghasilkan hasil yang berbeda
dari biasanya:
· penyusunan pelampung tidak didukung (pekerjaan unmarshalling);
· fungsi hash polimorfik tidak akan memberikan hasil yang sama pada struktur data
berisi pelampung;
· fungsi-fungsi ini mungkin lebih rentan terhadap stack overflow, karena tumpukan Javascript berukuran kecil.
Gunakan js_of_ocaml online menggunakan layanan onworks.net