Хай - Википедия - Hy
Логотип Hy - обнимает каракатица | |
Парадигма | Мультипарадигма: процедурный, функциональный, объектно-ориентированный, мета, отражающий, общий |
---|---|
Семья | Лисп |
Разработано | Поль Тальямонте |
Разработчики | Основная команда |
Впервые появился | 2013 |
Предварительный выпуск | 0.19.0 / 16 июля 2020 |
Объем | лексический, необязательно динамический[нужна цитата ] |
Платформа | IA-32, x86-64 |
Операционные системы | Кроссплатформенность |
Лицензия | Массачусетский технологический институт -стиль |
Расширения имени файла | .hy |
Интернет сайт | хиланг |
Под влиянием | |
Лисп, Кава, 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 Ваше имя!
Смотрите также
Примечания
использованная литература
- ^ Яворский, Михал; Зиаде, Тарек (2019). Опытное программирование на Python (Третье изд.). Бирмингем, Великобритания: Packt Publishing. п. 173. ISBN 978-1-78980-677-9. OCLC 1125343555.
- ^ Данжу, Жюльен (2018). Серьезный Python: советы черного пояса по развертыванию, масштабируемости, тестированию и многому другому. Сан-Франциско, Калифорния: Пресса без крахмала. С. 145–149. ISBN 9781593278793. OCLC 1057729260.
- ^ Тальямонте, Поль (2 апреля 2013 г.). PyCon Lightning Talk (Речь). Конференция Python (PyCon). Санта-Клара. Получено 2 сентября 2014.
- ^ Турто, Туукка (14 февраля 2014 г.). «Программирование может быть забавным с Хай». Открытый исходный код для вас. Получено 2 сентября 2014.
- ^ Эдж, Джейк (30 апреля 2014 г.). "Получение Хай на Python". LWN.net. Получено 2 сентября 2014.
- ^ Тальямонте, Поль (11 апреля 2014 г.). Получение Hy на Python: как реализовать интерфейс Lisp для Python (Речь). PyCon. Монреаль. Получено 2 сентября 2014.
- ^ "Hy Документация". hylang.org. Получено 3 сентября 2014.
- ^ Данжу, Жюльен (26 марта 2014 г.). "АСТ". Руководство хакера по Python. С. 165–172.
- ^ Китчин, Джон (31 марта 2016 г.). "Подробнее о Хай и о том, почему я считаю это важным". Китчинская исследовательская группа. Университет Карнеги Меллон. Получено 19 сентября 2018.
- ^ "Быстрый старт". Hylang.org. 15 мая 2018. Получено 19 сентября 2018.
внешняя ссылка
1955 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LISP 1, 1.5, LISP 2(заброшен) | ||||||||||||||
Маклисп | ||||||||||||||
Интерлисп | ||||||||||||||
Лисп-машина Лисп | ||||||||||||||
Схема | R5RS | R6RS | R7RS маленький | |||||||||||
Ноль | ||||||||||||||
Ференц Лисп | ||||||||||||||
Common Lisp | ||||||||||||||
Le Lisp | ||||||||||||||
Т | ||||||||||||||
Chez Scheme | ||||||||||||||
Emacs Lisp | ||||||||||||||
AutoLISP | ||||||||||||||
ПикоЛисп | ||||||||||||||
EuLisp | ||||||||||||||
ISLISP | ||||||||||||||
OpenLisp | ||||||||||||||
Схема PLT | Ракетка | |||||||||||||
GNU Guile | ||||||||||||||
Визуальный LISP | ||||||||||||||
Clojure | ||||||||||||||
Дуга | ||||||||||||||
LFE | ||||||||||||||
Hy |