Jump to content

Hy (язык программирования)

Он
Парадигма Мультипарадигмальность : процедурная , функциональная , объектно-ориентированная , мета , рефлексивная , универсальная.
Семья Лисп
Разработано Пол Тальямонте
Разработчики Основная команда
Впервые появился 2013 год ; 11 лет назад ( 2013 )
Стабильная версия
0.29.0 [1]  Отредактируйте это в Викиданных / 20 мая 2024 г .; 42 дня назад ( 20 мая 2024 г. )
Предварительный выпуск
1.0а4 [2] / 16 марта 2022 г .; 2 года назад ( 16.03.2022 ) [2]
Объем лексический, опционально динамический [ нужна ссылка ]
Платформа ИА-32 , x86-64
ТЫ Кросс-платформенный
Лицензия С -стиль
Расширения имен файлов .он
Веб-сайт потерянный .org
Под влиянием
Кава , 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!

См. также [ править ]

Примечания [ править ]

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

Ссылки [ править ]

  1. ^ «Релиз 0.29.0» . 20 мая 2024 г. Проверено 23 мая 2024 г.
  2. ^ Jump up to: Перейти обратно: а б «Хай 1.0а4» . Гитхаб.
  3. ^ Яворски, Михал; Зиаде, Тарек (2019). Экспертное программирование на Python (Третье изд.). Бирмингем, Великобритания: Packt Publishing. стр. 173. ISBN  978-1-78980-677-9 . OCLC   1125343555 .
  4. ^ Данжу, Жюльен (2018). Серьезный Python: советы черного пояса по развертыванию, масштабируемости, тестированию и т. д . Сан-Франциско, Калифорния: Пресса без крахмала. стр. 145–149. ISBN  9781593278793 . OCLC   1057729260 .
  5. ^ Тальямонте, Пол (2 апреля 2013 г.). Молниеносный доклад PyCon (Речь). Конференция Python (PyCon). Санта-Клара . Проверено 2 сентября 2014 г.
  6. ^ Тальямонте, Пол (11 апреля 2014 г.). Получение Hy на Python: как реализовать интерфейс Lisp для Python (речь). ПиКон . Монреаль . Проверено 2 сентября 2014 г.
  7. ^ Турто, Туукка (14 февраля 2014 г.). «Программирование может быть увлекательным с Hy» . Открытый исходный код для вас . Проверено 2 сентября 2014 г.
  8. ^ Уотсон, Марк (2020). Программист на Lisp, живущий в стране Python: язык программирования Hy (PDF) . LeanBooks.
  9. ^ Эдж, Джейк (30 апреля 2014 г.). «Приучаемся к Python» . LWN.net . Проверено 2 сентября 2014 г.
  10. ^ «Хай документация» . hylang.org . Проверено 3 сентября 2014 г.
  11. ^ Данжу, Жюльен (26 марта 2014 г.). «АСТ» . Руководство хакера по Python . стр. 165–172.
  12. ^ Китчин, Джон (31 марта 2016 г.). «Подробнее о Хай и о том, почему я считаю, что это так важно» . Исследовательская группа Китчина . Университет Карнеги-Меллон . Проверено 19 сентября 2018 г.
  13. ^ «Быстрый старт» . Хиланг.орг . 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 Коварство
 Визуальный ЛИСП
 Кложур
 Дуга
 ЛФЭ
 Он
 Хиалисп
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8f34dd6281f705aa5aef78f7c16e68f7__1716090960
URL1:https://arc.ask3.ru/arc/aa/8f/f7/8f34dd6281f705aa5aef78f7c16e68f7.html
Заголовок, (Title) документа по адресу, URL1:
Hy (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)