HyLisp程式語言的一種方言。它設計用於同Python語言進行交互,方式是把表達式翻譯成Python的抽象語法樹(AST)[2][3]。Paul Tagliamonte在2013年於Python會議(PyCon)介紹了Hy[4]

Quick Facts 編程範型, 語言家族 ...
Hy
Thumb
編程範型多范型: 過程式, 函數式, 面向對象, 元編程, 反射式, 泛型
語言家族Lisp
設計者Paul Tagliamonte
實作者核心團隊
釋出時間2013年,​11年前​(2013
當前版本
  • 1.0.0(2024年9月22日;穩定版本)[1]
編輯維基數據鏈接
作用域詞法
實作語言Python
系統平台IA-32, x86-64
作業系統跨平台
許可證MIT
文件擴展名.hy
網站hylang.org
啟發語言
Kawa英語Kawa (Scheme implementation), Clojure, Common Lisp
Close

類似於Kawa英語Kawa (Scheme implementation)Clojures-表達式映射到Java虛擬機(JVM)之上[5],Hy必定作為Python抽象語法樹的透明Lisp前端來運行[6]。Lisp允許像數據那樣在代碼上進行操作(元編程)。因此,Hy可以用來書寫領域特定語言[7]。Hy還允許導入Python包括標準庫,並與Hy代碼一起被訪問,方式是通過一個編譯步驟[note 1],將二者的數據結構翻譯成Python的AST[note 2][8][9][10]

例子代碼

來自語言文檔的例子[11]

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

參見

Thumb
Hy標誌和吉祥物墨魚Cuddles

註釋

引用

外部連結

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.