Hy

Hy（またはHylang）は、式をPythonのAST（抽象構文木）へ変換することで、PythonとLisp間でのやり取りができるように設計されたプログラミング言語Lispの方言のひとつである。HyはPython Conference（PyCon）2013でPaul Tagliamonteが発表した。

KawaやClojureにおいて、S式がJava仮想マシン（JVM）の抽象構文木にマッピングされるのと同様に、Hyは、Pythonの抽象構文に対する透過的なLispフロントエンドとして使用することが想定されている。Lispではコード自体をデータとして操作することが可能である（メタプログラミング）ため、Hyをドメイン固有言語（DSL）として使用することができる。Hyのコードは、コンパイル時に両言語のコードをPythonのASTにステップ変換するため、標準ライブラリを含むPythonのライブラリにインポートしたり、ライブラリからHyのコードにアクセスしたりすることが可能である。

コード例 
以下はHy言語のドキュメントからの引用である。=> (print "Hy!")
Hy!
=> (defn salutationsnm [name] (print (+ "Hy " name "!")))
=> (salutationsnm "YourName")
Hy YourName!

関連項目 

 Clojure
 Kawa

出典

参考文献

外部リンク 

 
 
 Documentation
 Video of 2014 PyCon talk
LISP