Hy est un dialecte du langage de programmation Lisp conçu pour interagir avec Python en traduisant les expressions s dans l'arbre syntaxique abstrait de Python (AST). Hy a été présenté à la conférence Python (PyCon) 2013 par Paul Tagliamonte. Lisp permet d'opérer sur le code en tant que données ( métaprogrammation ), ainsi Hy peut être utilisé pour écrire des langages spécifiques à un domaine .
Similaire aux mappages de Kawa et Clojure sur la machine virtuelle Java (JVM), Hy est censé fonctionner comme une interface Lisp transparente pour Python. aux bibliothèques Python , y compris la bibliothèque standard , d'être importées et accessibles en même temps que le code Hy avec une étape de compilation où les deux langages sont convertis en AST de Python.
Exemple de code
Extrait de la documentation linguistique :
=> ( print "Hy!" ) Hy! => ( defn salutationsnm [ nom ] ( print ( + "Hy " nom "!" ))) => ( salutationsnm "VotreNom" ) Hy VotreNom!