Появилась новая версия PureScript с полностью переписанным парсером. Разработчики говорят, что они надеются, что этот выпуск откроет много возможностей для синтаксического инструментария, либо с использованием существующего парсера, либо даже с использованием альтернативных парсеров.
PureScript-это строго типизированный функциональный язык программирования, который компилируется в JavaScript, и позволяет разработчикам повторно использовать существующий код JavaScript. Он написан и вдохновлен Haskell, но в отличие от Haskell, PureScript разработан специально для компиляции в (простой) JavaScript, и скомпилированный код PureScript может работать в любой среде, где работает JavaScript.
Язык поставляется с рядом библиотек, облегчающих разработку веб-приложений, веб-серверов и приложений. Разработчики PureScript говорят, что у него отличная поддержка инструментов и редакторов с мгновенными перестройками и активным сообществом.
Привлекательность PureScript заключается в его поддержке функциональных методов и выразительных типов, в том числе:
Алгебраические типы данных и сопоставление шаблонов
Полиморфизм строк и расширяемые записи
Высшие типы рода
Классы типов с функциональными зависимостями
Полиморфизм более высокого ранга.
Способ работы PureScript заключается в том, что компилятор берет исходные файлы PureScript, анализирует и проверяет их, а затем преобразует их либо в модули CommonJS, либо в один пакет JavaScript для браузера.
Хотя компилятор можно использовать непосредственно с исходными файлами, существует ряд инструментов, которые можно использовать для интеграции PureScript в рабочий процесс JavaScript, включая Pulp, инструмент сборки для PureScript.
Написав о новом выпуске, разработчик Натан Фобион сказал, что, хотя старый парсер хорошо послужил своей цели,:
за эти годы он вырос очень органично, а это значит, что у него появились некоторые неприглядные конечности! На протяжении всего процесса я пытался сгладить множество темных углов в грамматике языка, и я надеюсь, что этот релиз заложит нам прочную основу, чтобы мы могли начать определять, что такое» чистый язык » на самом деле.»
Обновленная версия доступна на GitHub.