コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

Hy

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Hy
Hy
Hy logo - Cuddles the cuttlefish
パラダイム Multi-paradigm: procedural, functional, object-oriented, meta, reflective, generic
登場時期 2013年 (11年前) (2013)
設計者 Paul Tagliamonte
最新リリース 1.0.0 / 2024年9月22日[1]
評価版リリース 0.17.0 / 2019年5月20日 (5年前) (2019-05-20)
影響を受けた言語 Lisp, Kawa, Clojure, Common Lisp
プラットフォーム Cross-platform
ライセンス MIT-style
ウェブサイト hylang.org
拡張子 .hy
関連言語 Lisp
テンプレートを表示

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

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

コード例

[編集]

以下はHy言語のドキュメントからの引用である[9]

=> (print "Hy!")
Hy!
=> (defn salutationsnm [name] (print (+ "Hy " name "!")))
=> (salutationsnm "YourName")
Hy YourName!

関連項目

[編集]

出典

[編集]
  1. ^ "Compiled" is a term which may apply to expressing Hy code in Python's AST or converting that AST into bytecode, the latter being dependent on the specific Python interpreter used and not Hy.
  2. ^ Hy is tested on Python 2.7, 3.4 through 3.6, and PyPy.

参考文献

[編集]
  1. ^ 出典URL: https://github.com/hylang/hy/discussions/2608, 題名: Hy 1.0.0, the Lisp dialect for Python, has been released · hylang hy · Discussion #2608, 作品または名前の言語: 英語, 閲覧日: 2024年9月23日
  2. ^ Tagliamonte, Paul (2 April 2013). PyCon lightning talk (Speech). Python Conference (PyCon). Santa Clara. 2014年9月2日閲覧
  3. ^ Turto, Tuukka (14 February 2014). “Programming Can Be Fun with Hy”. Open Source For You. http://www.opensourceforu.com/2014/02/programming-can-fun-hy/ 2 September 2014閲覧。 
  4. ^ Edge (30 April 2014). “Getting Hy on Python”. LWN.net. 2 September 2014閲覧。
  5. ^ Tagliamonte, Paul (11 April 2014). Getting Hy on Python: How to implement a Lisp front-end to Python (Speech). PyCon. Montreal. 2014年9月2日閲覧
  6. ^ Hy Documentation”. hylang.org. 3 September 2014閲覧。
  7. ^ Danjou, Julien (26 March 2014). “The AST”. The Hacker's Guide to Python. pp. 165–172. https://books.google.com/books?id=B6nhAwAAQBAJ&pg=PT171 
  8. ^ Kitchin (31 March 2016). “More on Hy and why I think it is a big deal”. The Kitchin Research Group. Carnegie Mellon University. 19 September 2018閲覧。
  9. ^ Quickstart”. Hylang.org (15 May 2018). 19 September 2018閲覧。

外部リンク

[編集]