Хай - Википедия - Hy

Hy
Hy Cuddles.png
Логотип Hy - обнимает каракатица
ПарадигмаМультипарадигма: процедурный, функциональный, объектно-ориентированный, мета, отражающий, общий
СемьяЛисп
РазработаноПоль Тальямонте
РазработчикиОсновная команда
Впервые появился2013; 7 лет назад (2013)
Предварительный выпуск
0.19.0 / 16 июля 2020; 5 месяцев назад (2020-07-16)
Объемлексический, необязательно динамический[нужна цитата ]
ПлатформаIA-32, x86-64
Операционные системыКроссплатформенность
ЛицензияМассачусетский технологический институт -стиль
Расширения имени файла.hy
Интернет сайтхиланг.org
Под влиянием
Лисп, Кава, Clojure, Common Lisp

Hy это диалект из Лисп язык программирования. Он предназначен для взаимодействия с языком Python переводя выражения в Python абстрактное синтаксическое дерево (АСТ).[1][2] Хай был представлен на Конференция Python (PyCon) 2013 Пол Тальямонте.[3]

Похожий на Кава и Clojure отображение s-выражения на Виртуальная машина Java (JVM),[4] Hy предназначен для работы как прозрачный интерфейс Lisp для абстрактного синтаксиса Python.[5] Lisp позволяет работать с кодом как с данными (метапрограммирование ). Таким образом, Hy можно использовать для записи предметно-ориентированные языки.[6] Hy также позволяет Python библиотеки, в том числе стандартная библиотека, для импорта и доступа вместе с кодом Hy с составление[примечание 1] шаг преобразования структуры данных обоих в AST Python.[заметка 2][7][8][9]

Пример кода

Из языковой документации:[10]

=> (Распечатать "Хай!")Эй!=> (defn приветствия [имя] (Распечатать (+ "Хай" имя "!")))=> (приветствия "Ваше имя")Hy Ваше имя!

Смотрите также

Примечания

  1. ^ «Скомпилированный» - это термин, который может относиться к выражению кода Hy в AST Python или преобразованию этого AST в байт-код, причем последний зависит от конкретного используемого интерпретатора Python, а не Hy.
  2. ^ Hy протестирован на Python 2.7, с 3.4 по 3.6 и PyPy.

использованная литература

  1. ^ Яворский, Михал; Зиаде, Тарек (2019). Опытное программирование на Python (Третье изд.). Бирмингем, Великобритания: Packt Publishing. п. 173. ISBN  978-1-78980-677-9. OCLC  1125343555.
  2. ^ Данжу, Жюльен (2018). Серьезный Python: советы черного пояса по развертыванию, масштабируемости, тестированию и многому другому. Сан-Франциско, Калифорния: Пресса без крахмала. С. 145–149. ISBN  9781593278793. OCLC  1057729260.
  3. ^ Тальямонте, Поль (2 апреля 2013 г.). PyCon Lightning Talk (Речь). Конференция Python (PyCon). Санта-Клара. Получено 2 сентября 2014.
  4. ^ Турто, Туукка (14 февраля 2014 г.). «Программирование может быть забавным с Хай». Открытый исходный код для вас. Получено 2 сентября 2014.
  5. ^ Эдж, Джейк (30 апреля 2014 г.). "Получение Хай на Python". LWN.net. Получено 2 сентября 2014.
  6. ^ Тальямонте, Поль (11 апреля 2014 г.). Получение Hy на Python: как реализовать интерфейс Lisp для Python (Речь). PyCon. Монреаль. Получено 2 сентября 2014.
  7. ^ "Hy Документация". hylang.org. Получено 3 сентября 2014.
  8. ^ Данжу, Жюльен (26 марта 2014 г.). "АСТ". Руководство хакера по Python. С. 165–172.
  9. ^ Китчин, Джон (31 марта 2016 г.). "Подробнее о Хай и о том, почему я считаю это важным". Китчинская исследовательская группа. Университет Карнеги Меллон. Получено 19 сентября 2018.
  10. ^ "Быстрый старт". Hylang.org. 15 мая 2018. Получено 19 сентября 2018.

внешняя ссылка