js_of_ocaml - онлайн у хмарі

Це команда js_of_ocaml, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS.

ПРОГРАМА:

ІМ'Я


js_of_ocaml - байт-код OCaml для компілятора Javascript

ОПИС


js_of_ocaml(1) є компілятором з програм байт-коду OCaml на Javascript. Це робить це
можна писати програми OCaml, які працюють у веб-браузерах.

Він поставляється з прив’язками для значної частини API браузера та створених програм
Виміряно, що інтерпретатор байт-коду OCaml зазвичай працює швидше.

ВИКОРИСТАННЯ


Вашу програму необхідно спочатку скомпільувати за допомогою компілятора байт-коду OCaml ocamlc(1).
Прив’язки Javascript, а також відповідне розширення синтаксису надаються
js_of_ocaml пакет.

ocamlfind ocamlc -пакет js_of_ocaml -пакет js_of_ocaml.синтаксис
-синтаксис camlp4o -linkpkg -o input_file.byte input_file.ml

Потім запустіть js_of_ocaml(1) компілятор для створення коду Javascript.

js_of_ocaml [ опції ] вхідний_файл.байт

ВАРІАНТИ


Наступні параметри командного рядка розпізнаються js_of_ocaml(1).

-відлагоджувати ім'я
модуль налагодження ім'я

- вимкнути ім'я
відключити оптимізацію ім'я

- гарна
гарно роздрукувати результат

-debuginfo
вивести інформацію про налагодження

-noinline
вимкнути вбудовування

-noruntime
не включати стандартний час виконання

-вищий рівень
скласти верхній рівень

-I реж додавати реж до списку включаються каталогів

-o файл
встановити ім’я вихідного файлу файл

-допомога Відобразити список опцій

--допомога Відобразити список опцій

ХАРАКТЕРИСТИКИ, ОБМЕЖЕННЯ


Повинна підтримуватися вся стандартна бібліотека OCaml, за винятком каналів введення/виводу,
слабкі посилання та більшість функцій модуля Sys. Додаткові бібліотеки, такі як Bigarray,
Unix, Thread або Str не підтримуються.

Хвостовий виклик загалом не оптимізований. Однак саморекурсивні функції (коли хвіст
виклики самої функції) компілюються в цикл.

На даний момент рекурсивні модулі не підтримуються.

Представлення даних відрізняється від звичайного з міркувань продуктивності. Дуже помітно,
цілі числа мають 32 біти (замість 31 або 63 біти), а числа з плаваючою точкою не упаковуються. Як наслідок,
маршалінг, поліморфне порівняння та функції хешування можуть давати різні результати
ніж зазвичай:

· сортування поплавків не підтримується (роботи з розсортування);

· поліморфна хеш-функція не дасть однакових результатів щодо структур даних
містять поплавки;

· ці функції можуть бути більш схильні до переповнення стека, оскільки стек Javascript невеликий.

Використовуйте js_of_ocaml онлайн за допомогою служб onworks.net



Найновіші онлайн-програми для Linux і Windows