Hy (язык программирования)
Парадигма | Мультипарадигмальность : процедурная , функциональная , объектно-ориентированная , мета , рефлексивная , универсальная. |
---|---|
Семья | Лисп |
Разработано | Пол Тальямонте |
Разработчики | Основная команда |
Впервые появился | 2013 год |
Стабильная версия | 0.29.0 [1]
/ 20 мая 2024 г |
Предварительный выпуск | |
Объем | лексический, опционально динамический [ нужна ссылка ] |
Платформа | ИА-32 , x86-64 |
ТЫ | Кросс-платформенный |
Лицензия | С -стиль |
Расширения имен файлов | .он |
Веб-сайт | потерянный |
Под влиянием | |
Кава , Clojure , Common Lisp |
Hy — это диалект языка Lisp программирования , предназначенный для взаимодействия с Python путем перевода s-выражений Python в абстрактное синтаксическое дерево (AST). [3] [4] Hy был представлен на конференции Python (PyCon) 2013 Полом Тальямонте. [5] Lisp позволяет работать с кодом как с данными ( метапрограммирование ), поэтому Hy можно использовать для написания предметно-ориентированных языков . [6]
Подобно сопоставлениям Kawa и Clojure с виртуальной машиной Java (JVM), [7] [8] Hy предназначен для работы в качестве прозрачного интерфейса Lisp для Python. [9] Он позволяет библиотеки Python , включая стандартную библиотеку импортировать , и получать к ним доступ вместе с кодом Hy с помощью компилятора. [примечание 1] шаг, на котором оба языка преобразуются в AST Python. [примечание 2] [10] [11] [12]
Пример кода [ править ]
Из языковой документации: [13]
=> (print "Hy!")
Hy!
=> (defn salutationsnm [name] (print (+ "Hy " name "!")))
=> (salutationsnm "YourName")
Hy YourName!
См. также [ править ]
Примечания [ править ]
Ссылки [ править ]
- ^ «Релиз 0.29.0» . 20 мая 2024 г. Проверено 23 мая 2024 г.
- ^ Jump up to: Перейти обратно: а б «Хай 1.0а4» . Гитхаб.
- ^ Яворски, Михал; Зиаде, Тарек (2019). Экспертное программирование на Python (Третье изд.). Бирмингем, Великобритания: Packt Publishing. стр. 173. ISBN 978-1-78980-677-9 . OCLC 1125343555 .
- ^ Данжу, Жюльен (2018). Серьезный Python: советы черного пояса по развертыванию, масштабируемости, тестированию и т. д . Сан-Франциско, Калифорния: Пресса без крахмала. стр. 145–149. ISBN 9781593278793 . OCLC 1057729260 .
- ^ Тальямонте, Пол (2 апреля 2013 г.). Молниеносный доклад PyCon (Речь). Конференция Python (PyCon). Санта-Клара . Проверено 2 сентября 2014 г.
- ^ Тальямонте, Пол (11 апреля 2014 г.). Получение Hy на Python: как реализовать интерфейс Lisp для Python (речь). ПиКон . Монреаль . Проверено 2 сентября 2014 г.
- ^ Турто, Туукка (14 февраля 2014 г.). «Программирование может быть увлекательным с Hy» . Открытый исходный код для вас . Проверено 2 сентября 2014 г.
- ^ Уотсон, Марк (2020). Программист на Lisp, живущий в стране Python: язык программирования Hy (PDF) . LeanBooks.
- ^ Эдж, Джейк (30 апреля 2014 г.). «Приучаемся к Python» . LWN.net . Проверено 2 сентября 2014 г.
- ^ «Хай документация» . hylang.org . Проверено 3 сентября 2014 г.
- ^ Данжу, Жюльен (26 марта 2014 г.). «АСТ» . Руководство хакера по Python . стр. 165–172.
- ^ Китчин, Джон (31 марта 2016 г.). «Подробнее о Хай и о том, почему я считаю, что это так важно» . Исследовательская группа Китчина . Университет Карнеги-Меллон . Проверено 19 сентября 2018 г.
- ^ «Быстрый старт» . Хиланг.орг . 15 мая 2018 года . Проверено 19 сентября 2018 г.
Внешние ссылки [ править ]
1958 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ЛИСП 1, 1.5, ЛИСП 2 (заброшенный) | |||||||||||||||
Маклисп | |||||||||||||||
Интерлисп | |||||||||||||||
леев | |||||||||||||||
Лисп-машина Лисп | |||||||||||||||
Схема | Р5РС | Р6РС | R7RS маленький | ||||||||||||
НОЛЬ | |||||||||||||||
ЗИЛ (язык реализации Zork) | |||||||||||||||
Франц Лисп | |||||||||||||||
Общий Лисп | стандарт ANSI | ||||||||||||||
Лисп | |||||||||||||||
Схема СО | |||||||||||||||
XLISP | |||||||||||||||
Т | |||||||||||||||
На схеме | |||||||||||||||
Эмакс Лисп | |||||||||||||||
АвтоЛИСП | |||||||||||||||
ПикоЛисп | |||||||||||||||
Гамбит | |||||||||||||||
EuLisp | |||||||||||||||
ИСЛИСП | |||||||||||||||
ОпенЛисп | |||||||||||||||
Схема PLT | Ракетка | ||||||||||||||
новыйLISP | |||||||||||||||
GNU Коварство | |||||||||||||||
Визуальный ЛИСП | |||||||||||||||
Кложур | |||||||||||||||
Дуга | |||||||||||||||
ЛФЭ | |||||||||||||||
Он | |||||||||||||||
Хиалисп |