Это команда 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. окамлк(1).
Привязки Javascript, а также соответствующее расширение синтаксиса предоставляются
js_of_ocaml пакет.
ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntax \
-syntax camlp4o -linkpkg -o файл_входа.byte файл_входа.ml
Затем запустите js_of_ocaml(1) компилятор для создания кода Javascript.
js_of_ocaml [ кредита ] входной_файл.байт
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
Следующие параметры командной строки распознаются js_of_ocaml(1).
-отлаживать имя
модуль отладки имя
-запрещать имя
отключить оптимизацию имя
-хорошенький
довольно распечатать вывод
-debuginfo
вывод отладочной информации
-нетлайн
отключить встраивание
-noruntime
не включать стандартную среду выполнения
-высший уровень
составить верхний уровень
-I директория Добавить директория в список включаемых каталогов
-o файл
установить имя выходного файла на файл
-Помощь Показать список опций
--Помогите Показать список опций
ОСОБЕННОСТИ, ОГРАНИЧЕНИЯ
Должна поддерживаться вся стандартная библиотека OCaml, за исключением каналов ввода / вывода,
слабые ссылки и большинство функций модуля Sys. Дополнительные библиотеки, такие как Bigarray,
Unix, Thread или Str не поддерживаются.
Хвостовой вызов вообще не оптимизирован. Однако саморекурсивные функции (когда хвост
вызовы самой функции) компилируются в цикл.
Рекурсивные модули на данный момент не поддерживаются.
Представление данных отличается от обычного по соображениям производительности. В частности,
целые числа 32-битные (вместо 31 или 63 бит), а числа с плавающей запятой не упаковываются. Как следствие,
функции маршалинга, полиморфного сравнения и хеширования могут давать разные результаты.
чем обычно:
· Не поддерживается сортировка поплавков (работы по демаршаллингу);
· Полиморфная хеш-функция не даст таких же результатов для структур данных
содержащие поплавки;
· Эти функции могут быть более подвержены переполнению стека, поскольку стек Javascript невелик.
Используйте js_of_ocaml в Интернете с помощью сервисов onworks.net