Компания Bloomberg представила открытый оптимизирующий компилятор BuckleScript

12 сентября 2016 года

Компания Bloomberg опубликовала первый стабильный релиз проекта BuckleScript, позволяющего компилировать проекты на языке OCaml в представление на JavaScript. BuckleScript позиционируется как альтернатива таким системам, как TypeScript, дающая возможность разрабатывать web-проекты с использованием статической типизации, без потерь в удобстве разработки. BuckleScript позволяет организовать бесшовное использование кода OCaml в JavaScript, сохраняя имена переменных и генерируя читаемый код. Исходные тексты проекта написаны на языке OCaml и распространяются под лицензией GPLv2.

В отличие от TypeScript в BuckleScript предоставляется полноценная система типов, без нагромождения кода аннотациями. Корректность использования типов проверяется на этапе компиляции, что гарантирует отсутствие ошибок типизации во время выполнения проекта. Информация о типах также позволяет задействовать в BuckleScript большое число оптимизаций, выполняемых на этапе компиляции, таких как свёртывание констант, удаление мёртвого кода (DCE) и оптимизация хвостовой рекурсии (TCO).

Из достоинств BuckleScript также отмечается возможность применения в проектах уже существующего языка OCaml, без необходимости изучения нового языка программирования. Написанный на OCaml код может применяться не только для преобразования в JavaScript, но и собираться в виде нативных исполняемых файлов или в форме самодостаточных unikernel, работающих поверх гипервизора. Применение интерфейса FFI (Foreign Function Interface) позволяет моделировать в программах на OCaml родную систему объектов JavaScript и использовать в проектах существующие библиотеки JavaScript. Компилируемые модули OCaml отражаются в модули JavaScript.

Для управления генерацией кода можно применять специальные атрибуты OCaml. Обеспечивается достаточно высокая скорость компиляции, например, по сравнению с TypeScript проект собирается как минимум в десять раз быстрее. Компилятор может быть собран в виде нативного исполняемого файла или в представлении на JavaScript, при этом вариант на JavaScript также обладает отличной производительностью и позволяет на лету компилировать проекты, практически в режиме реального времени.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Компания Bloomberg представила открытый оптимизирующий компилятор BuckleScript», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.