Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

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

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

Пример кода [ править ]

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

=>  ( выведите  «Хи!» ) Хи! =>  ( defn salutationsnm  [ name ]  ( print  ( +  "Hy"  name  "!" ))) =>  ( salutationsnm  "YourName" ) Hy  YourName!

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

  • Common Lisp
  • Clojure
  • Кава (реализация схемы)
  • CLPython

Заметки [ править ]

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

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

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

Внешние ссылки [ править ]

  • Официальный сайт
  • hy на GitHub
  • Документация
  • Видео выступления PyCon 2014