Loading article…
Hy ロゴ –イカを抱きしめる | |
| パラダイム | マルチパラダイム:手続き型、関数型、オブジェクト指向、メタ、リフレクティブ、ジェネリック |
|---|---|
| 家族 | リスプ |
| デザイン: | ポール・タリアモンテ |
| 開発者 | コアチーム |
| 初登場 | 2013年 |
| 安定版リリース | 1.0.0 [1]
/ 2024年9月22日 |
| 範囲 | 語彙的、オプションで動的[要出典] |
| プラットフォーム | IA-32、x86-64 |
| OS | クロスプラットフォーム |
| ライセンス | MITスタイル |
| ファイル名拡張子 | .ハイ |
| Webサイト | hylang.org |
| 影響を受けた | |
| Kawa、Clojure、Common Lisp | |
HyはLispプログラミング言語の方言であり、S式をPythonの抽象構文木(AST)に変換することでPythonと対話するように設計されています。 [2] [3] Hyは、2013年のPythonカンファレンス(PyCon)でPaul Tagliamonteによって導入されました。 [4] Lispでは、コードをデータとして操作できるため(メタプログラミング)、Hyを使用してドメイン固有言語を作成できます。[5]
KawaとClojureのJava仮想マシン(JVM)へのマッピングと同様に、[6] [7] HyはPythonの透過的なLispフロントエンドとして機能するように設計されています。[8]これにより、標準ライブラリを含むPythonライブラリをインポートしてHyコードと一緒にアクセスすることができ、コンパイル[注1]のステップで両方の言語がPythonのASTに変換されます。[注2] [9] [10] [11]
サンプルコード
言語ドキュメントより: [12]
=> ( print "Hy!" ) Hy! => ( defn salutationsnm [ name ] ( print ( + "Hy " name "!" ))) => ( salutationsnm "YourName" ) Hy YourName!
参照
注記
- ^ 「コンパイル済み」という用語は、Hy コードを Python の AST で表現する場合や、その AST をバイトコードに変換する場合に適用されることがあります。後者は、Hy ではなく、使用される特定の Python インタープリタに依存します。
- ^ Hy は Python 2.7、3.4 から 3.6、およびPyPyでテストされています。
参考文献
- ^ 「Python の Lisp 方言 Hy 1.0.0 がリリースされました · hylang hy · ディスカッション #2608」 。2024年9 月 23 日閲覧。
- ^ ヤヴォルスキ、ミハウ;ジアド、タレク (2019)。 Python プログラミングのエキスパート (第 3 版)。バーミンガム、英国: Packt Publishing。 p. 173.ISBN 978-1-78980-677-9. OCLC 1125343555.
- ^ Danjou, Julien (2018). Serious Python: デプロイメント、スケーラビリティ、テストなどに関するブラックベルトのアドバイスサンフランシスコ、カリフォルニア州: No Starch Press。pp. 145–149。ISBN 9781593278793. OCLC 1057729260.
- ^ Tagliamonte, Paul (2013 年 4 月 2 日). PyCon ライトニング トーク (スピーチ). Python カンファレンス(PyCon). サンタクララ. 2014 年9 月 2 日閲覧。
- ^ Tagliamonte, Paul (2014 年 4 月 11 日). 「Getting Hy on Python: How to implement a Lisp front-end to Python (Speech)」. PyCon . モントリオール. 2014 年9 月 2 日閲覧。
- ^ Turto, Tuukka (2014 年 2 月 14 日)。「Hy を使えばプログラミングが楽しくなる」。Open Source For You。2014年9 月 2 日閲覧。
- ^ Watson, Mark (2020). Pythonランドに住むLispプログラマー:Hyプログラミング言語(PDF) . LeanBooks.
- ^ Edge, Jake (2014 年 4 月 30 日). 「Getting Hy on Python」. LWN.net . 2014 年9 月 2 日閲覧。
- ^ 「Hy ドキュメント」. hylang.org . 2014 年9 月 3 日閲覧。
- ^ Danjou, Julien (2014 年 3 月 26 日). 「AST」. Python ハッカーズガイド. pp. 165–172.
- ^ キットン、ジョン(2016年3月31日)。「Hyについての詳細と、それが大きな問題だと思う理由」。キットン研究グループ。カーネギーメロン大学。 2018年9月19日閲覧。
- ^ 「クイックスタート」。Hylang.org。2018年5月15日。 2018年9月19日閲覧。
外部リンク
- 公式サイト
- GitHubの hy
- ドキュメント
- 2014 PyCon 講演のビデオ
