Так что же такое Neko?

Neko -- это истинный источник всей функциональности, тогда как haXe является всего лишь синтаксической оболочкой для него. Если вы изучаете haXe и он вам нравится, то в скором времени вы почувствуете истинную мощь Neko и поймете, что хотя haXe и является уникальным скриптовым языком, но именно Neko -- величайшее создание Николаса Каннассье.

В отличие от haXe, стандартный Neko является языком с динамической типизацией. Также в отличие от haXe, язык спроектирован исходя из удобства автоматического генерирования его кода, а не удобства написания кода программистом. Поэтому не подразумевается использование компилятора Neko самого по себе, а только как мощный инструмент и виртуальную машину для других языков. Поэтому haXe и Neko рассматриваются вместе, как единый набор интрументов.

Возможности Neko обеспечиваются тремя "китами":

  • стандартный язык Neko
  • NXML
  • NekoML

Стандартный язык Neko, это процедурный язык, который вы можете использовать для разработки прототипов собственных модулей. Neko обеспечивает простое и быстрое тестирование новых модулей, поскольку не нужно применять объектно-ориентированные структуры и методы.

Два других языка -- это XML-подобный язык NXML и функциональный язык NekoML. NXML, как и процедурный язык Neko, спроектирован для автоматической генерации компиляторами. Причина такого решения в том, что хотя людям проще читать стандартные языки, структуры XML проще для автоматического разбора и навигации. NXML также обеспечивает более простой способ включать информацию об именах файлов и номерах строк кода в скомпилированных hx-файлах, что необходимо для предоставления отладочной информации разработчику.

А вот NekoML, это совсем другая история. Он следует стилю функциональных языков семейства ML и схож с языком Objective Caml. ML языки обеспечивают очень естественные средства обработки данных с помощью вложенных функций и рекурсий, что минимизирует используемые ресурсы и очень хорошо сочетается с технологиями компиляторов - symbolic processing и pattern matching (не владею терминологией чтобы адектватно перевести). Благодаря этому, язык NekoML идеален для создания компиляторов.

Хотя компилятор Neko изначално был написан на Objective Caml, сейчас он переписан на NekoML и скомпилирован компилятором Neko. Такая круговая техника известна как bootstrapping.

Через какое-то время могут быть созданы новые языки, компилируемые для виртуальной машины Neko. Пока идет работа над этой книгой, небольшая группа энтузиастов работает над компилятором, позволяющим компилировать код Ruby для Neko. Если после прочтения данной книги у вас возникнет желание написать компилятор для своего любимого языка, компилирующий его для виртуальной машины Neko, напишите письмо Николасу Каннассье в список рассылки haXe, он направит вас в нужное русло.

Комментарии

symbolic processing и

symbolic processing и pattern matching -> символьные вычисления и сопоставление с образцом

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>.

Подробнее о форматировании

CAPTCHA
Этот вопрос помогает предотвратить автоматический спам
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.
To prevent automated spam submissions leave this field empty.