fbpx
维基百科

Hy (编程语言)

HyLisp编程语言的一种方言。它设计用于同Python语言进行交互,方式是把表达式翻译成Python的抽象语法树(AST)[2][3]。Paul Tagliamonte在2013年于Python会议(PyCon)介绍了Hy[4]

Hy
编程范型多范型: 过程式, 函数式, 面向对象, 元编程, 反射式, 泛型
语言家族Lisp
設計者Paul Tagliamonte
實作者核心团队
发行时间2013年,​10年前​(2013
目前版本
  • 0.25.0 (2022年11月8日)[1]
作用域词法
實作語言Python
系统平台IA-32, x86-64
作業系統跨平台
許可證MIT
文件扩展名.hy
網站hylang.org
啟發語言
Lisp, Kawa英语Kawa (Scheme implementation), Clojure, Common Lisp

类似于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! 

参见

 
Hy标志和吉祥物墨鱼Cuddles
  • Common Lisp
  • Clojure
  • Kawa (Scheme实现)英语Kawa (Scheme implementation)
  • CLPython英语CLPython
  • Hissp[12] - Hissp是编译成Python的函数式子集的模块化Lisp实现,提供可以完全访问Python生态系统的语法宏元编程。
  • SchemePy[13] - 用Python实现的Scheme,支持call/cc英语call-with-current-continuation干净宏

注释

  1. ^ “编译”这个术语可以应用于将Hy代码表达为Python的AST或将这个AST转换成字节码,后者依赖于所使用的特定Python解释器而非Hy。
  2. ^ Hy在Python 2.7、3.4到3.6和PyPy上测试过。

引用

  1. ^ 1.0 1.1 Release 0.25.0. 2022年11月8日 [2022年11月14日]. 
  2. ^ Jaworski, Michał; Ziadé, Tarek. Expert Python programming Third. Birmingham, U.K.: Packt Publishing. 2019: 173. ISBN 978-1-78980-677-9. OCLC 1125343555. 
  3. ^ Danjou, Julien. Serious Python: black-belt advice on deployment, scalability, testing, and more. San Francisco, CA: No Starch Press. 2018: 145–149. ISBN 9781593278793. OCLC 1057729260. 
  4. ^ Tagliamonte, Paul. PyCon lightning talk (Speech). Python Conference (PyCon). Santa Clara. 2 April 2013 [2 September 2014]. (原始内容于2020-10-19). 
  5. ^ Turto, Tuukka. Programming Can Be Fun with Hy. Open Source For You. 14 February 2014 [2 September 2014]. (原始内容于2020-08-03). 
  6. ^ Edge, Jake. Getting Hy on Python. LWN.net. 30 April 2014 [2 September 2014]. (原始内容于2020-10-12). 
  7. ^ Tagliamonte, Paul. Getting Hy on Python: How to implement a Lisp front-end to Python (Speech). PyCon. Montreal. 11 April 2014 [2 September 2014]. (原始内容于2020-10-20). 
  8. ^ Hy Documentation. hylang.org. [3 September 2014]. (原始内容于2020-11-25). 
  9. ^ Danjou, Julien. The AST. The Hacker's Guide to Python. 26 March 2014: 165–172. 
  10. ^ Kitchin, John. More on Hy and why I think it is a big deal. The Kitchin Research Group. Carnegie Mellon University. 31 March 2016 [19 September 2018]. (原始内容于2020-02-17). 
  11. ^ Quickstart. Hylang.org. 15 May 2018 [19 September 2018]. (原始内容于2019-08-14). 
  12. ^ Hissp. [2020-10-09]. (原始内容于2020-09-20). 
  13. ^ SchemePy. [2020-10-10]. (原始内容于2018-07-09). 

外部链接

  • 官方网站
  • GitHub上的hy頁面
  • 文档

编程语言, hy是lisp编程语言的一种方言, 它设计用于同python语言进行交互, 方式是把表达式翻译成python的抽象语法树, paul, tagliamonte在2013年于python会议, pycon, 介绍了hy, hy编程范型多范型, 过程式, 函数式, 面向对象, 元编程, 反射式, 泛型语言家族lisp設計者paul, tagliamonte實作者核心团队发行时间2013年, 10年前, 2013, 目前版本0, 2022年11月8日, 作用域词法實作語言python系统平台ia, 64作業系. Hy是Lisp编程语言的一种方言 它设计用于同Python语言进行交互 方式是把表达式翻译成Python的抽象语法树 AST 2 3 Paul Tagliamonte在2013年于Python会议 PyCon 介绍了Hy 4 Hy编程范型多范型 过程式 函数式 面向对象 元编程 反射式 泛型语言家族Lisp設計者Paul Tagliamonte實作者核心团队发行时间2013年 10年前 2013 目前版本0 25 0 2022年11月8日 1 作用域词法實作語言Python系统平台IA 32 x86 64作業系統跨平台許可證MIT式文件扩展名 hy網站hylang wbr org啟發語言Lisp Kawa 英语 Kawa Scheme implementation Clojure Common Lisp类似于Kawa 英语 Kawa Scheme implementation 和Clojure将s 表达式映射到Java虚拟机 JVM 之上 5 Hy必定作为Python抽象语法树的透明Lisp前端来运行 6 Lisp允许像数据那样在代码上进行操作 元编程 因此 Hy可以用来书写领域特定语言 7 Hy还允许导入Python库包括标准库 并与Hy代码一起被访问 方式是通过一个编译步骤 note 1 将二者的数据结构翻译成Python的AST note 2 8 9 10 目录 1 例子代码 2 参见 3 注释 4 引用 5 外部链接例子代码 编辑来自语言文档的例子 11 gt print Hy Hy gt defn salutationsnm name print Hy name gt salutationsnm YourName Hy YourName 参见 编辑 Hy标志和吉祥物 墨鱼Cuddles Common Lisp Clojure Kawa Scheme实现 英语 Kawa Scheme implementation CLPython 英语 CLPython Hissp 12 Hissp是编译成Python的函数式子集的模块化Lisp实现 提供可以完全访问Python生态系统的语法宏元编程 SchemePy 13 用Python实现的Scheme 支持call cc 英语 call with current continuation 和干净宏 注释 编辑 编译 这个术语可以应用于将Hy代码表达为Python的AST或将这个AST转换成字节码 后者依赖于所使用的特定Python解释器而非Hy Hy在Python 2 7 3 4到3 6和PyPy上测试过 引用 编辑 1 0 1 1 Release 0 25 0 2022年11月8日 2022年11月14日 Jaworski Michal Ziade Tarek Expert Python programming Third Birmingham U K Packt Publishing 2019 173 ISBN 978 1 78980 677 9 OCLC 1125343555 Danjou Julien Serious Python black belt advice on deployment scalability testing and more San Francisco CA No Starch Press 2018 145 149 ISBN 9781593278793 OCLC 1057729260 Tagliamonte Paul PyCon lightning talk Speech Python Conference PyCon Santa Clara 2 April 2013 2 September 2014 原始内容存档于2020 10 19 Turto Tuukka Programming Can Be Fun with Hy Open Source For You 14 February 2014 2 September 2014 原始内容存档于2020 08 03 Edge Jake Getting Hy on Python LWN net 30 April 2014 2 September 2014 原始内容存档于2020 10 12 Tagliamonte Paul Getting Hy on Python How to implement a Lisp front end to Python Speech PyCon Montreal 11 April 2014 2 September 2014 原始内容存档于2020 10 20 Hy Documentation hylang org 3 September 2014 原始内容存档于2020 11 25 Danjou Julien The AST The Hacker s Guide to Python 26 March 2014 165 172 Kitchin John More on Hy and why I think it is a big deal The Kitchin Research Group Carnegie Mellon University 31 March 2016 19 September 2018 原始内容存档于2020 02 17 Quickstart Hylang org 15 May 2018 19 September 2018 原始内容存档于2019 08 14 Hissp 2020 10 09 原始内容存档于2020 09 20 SchemePy 2020 10 10 原始内容存档于2018 07 09 外部链接 编辑官方网站 GitHub上的hy頁面 文档 取自 https zh wikipedia org w index php title Hy 编程语言 amp oldid 74724819, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。