From Wikipedia, the free encyclopedia
Hy
Hy logo - Cuddles the cuttlefish
Paradigm Multi-paradigm: procedural, functional, object-oriented, meta, reflective, generic
Family Lisp
Designed byPaul Tagliamonte
DevelopersCore team
First appeared2013; 11 years ago (2013)
Stable release
0.28.0 [1]  Edit this on Wikidata / 5 January 2024; 3 months ago (5 January 2024)
Preview release
1.0a4 [2] / 16 March 2022; 2 years ago (2022-03-16) [2]
Scopelexical, optionally dynamic[ citation needed]
Platform IA-32, x86-64
OS Cross-platform
License MIT-style
Filename extensions.hy
Website hylang.org
Influenced by
Kawa, Clojure, Common Lisp

Hy is a dialect of the Lisp programming language designed to interact with Python by translating s-expressions into Python's abstract syntax tree (AST). [3] [4] Hy was introduced at Python Conference (PyCon) 2013 by Paul Tagliamonte. [5] Lisp allows operating on code as data ( metaprogramming), thus Hy can be used to write domain-specific languages. [6]

Similar to Kawa's and Clojure's mappings onto the Java virtual machine (JVM), [7] [8] Hy is meant to operate as a transparent Lisp front-end for Python. [9] It allows Python libraries, including the standard library, to be imported and accessed alongside Hy code with a compiling [note 1] step where both languages are converted into Python's AST. [note 2] [10] [11] [12]

Example code

From the language documentation: [13]

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

See also

Notes

  1. ^ The term "compiled" 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.

References

  1. ^ "Release 0.28.0". 5 January 2024. Retrieved 19 January 2024.
  2. ^ a b "Hy 1.0a4". GitHub.
  3. ^ Jaworski, Michał; Ziadé, Tarek (2019). Expert Python programming (Third ed.). Birmingham, U.K.: Packt Publishing. p. 173. ISBN  978-1-78980-677-9. OCLC  1125343555.
  4. ^ Danjou, Julien (2018). Serious Python: black-belt advice on deployment, scalability, testing, and more. San Francisco, CA: No Starch Press. pp. 145–149. ISBN  9781593278793. OCLC  1057729260.
  5. ^ Tagliamonte, Paul (2 April 2013). PyCon lightning talk (Speech). Python Conference (PyCon). Santa Clara. Retrieved 2 September 2014.
  6. ^ Tagliamonte, Paul (11 April 2014). Getting Hy on Python: How to implement a Lisp front-end to Python (Speech). PyCon. Montreal. Retrieved 2 September 2014.
  7. ^ Turto, Tuukka (14 February 2014). "Programming Can Be Fun with Hy". Open Source For You. Retrieved 2 September 2014.
  8. ^ Watson, Mark (2020). A Lisp Programmer Living in Python-Land: The Hy Programming Language (PDF). LeanBooks.
  9. ^ Edge, Jake (30 April 2014). "Getting Hy on Python". LWN.net. Retrieved 2 September 2014.
  10. ^ "Hy Documentation". hylang.org. Retrieved 3 September 2014.
  11. ^ Danjou, Julien (26 March 2014). "The AST". The Hacker's Guide to Python. pp. 165–172.
  12. ^ Kitchin, John (31 March 2016). "More on Hy and why I think it is a big deal". The Kitchin Research Group. Carnegie Mellon University. Retrieved 19 September 2018.
  13. ^ "Quickstart". Hylang.org. 15 May 2018. Retrieved 19 September 2018.

External links

1958 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
 LISP 1, 1.5, LISP 2(abandoned)
  Maclisp
  Interlisp
  MDL
  Lisp Machine Lisp
  Scheme  R5RS  R6RS  R7RS small
  NIL
  ZIL (Zork Implementation Language)
  Franz Lisp
  Common Lisp  ANSI standard
  Le Lisp
  MIT Scheme
  XLISP
  T
  Chez Scheme
  Emacs Lisp
  AutoLISP
  PicoLisp
  Gambit
  EuLisp
  ISLISP
  OpenLisp
  PLT Scheme   Racket
  newLISP
  GNU Guile
  Visual LISP
  Clojure
  Arc
  LFE
  Hy
  Chialisp
From Wikipedia, the free encyclopedia
Hy
Hy logo - Cuddles the cuttlefish
Paradigm Multi-paradigm: procedural, functional, object-oriented, meta, reflective, generic
Family Lisp
Designed byPaul Tagliamonte
DevelopersCore team
First appeared2013; 11 years ago (2013)
Stable release
0.28.0 [1]  Edit this on Wikidata / 5 January 2024; 3 months ago (5 January 2024)
Preview release
1.0a4 [2] / 16 March 2022; 2 years ago (2022-03-16) [2]
Scopelexical, optionally dynamic[ citation needed]
Platform IA-32, x86-64
OS Cross-platform
License MIT-style
Filename extensions.hy
Website hylang.org
Influenced by
Kawa, Clojure, Common Lisp

Hy is a dialect of the Lisp programming language designed to interact with Python by translating s-expressions into Python's abstract syntax tree (AST). [3] [4] Hy was introduced at Python Conference (PyCon) 2013 by Paul Tagliamonte. [5] Lisp allows operating on code as data ( metaprogramming), thus Hy can be used to write domain-specific languages. [6]

Similar to Kawa's and Clojure's mappings onto the Java virtual machine (JVM), [7] [8] Hy is meant to operate as a transparent Lisp front-end for Python. [9] It allows Python libraries, including the standard library, to be imported and accessed alongside Hy code with a compiling [note 1] step where both languages are converted into Python's AST. [note 2] [10] [11] [12]

Example code

From the language documentation: [13]

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

See also

Notes

  1. ^ The term "compiled" 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.

References

  1. ^ "Release 0.28.0". 5 January 2024. Retrieved 19 January 2024.
  2. ^ a b "Hy 1.0a4". GitHub.
  3. ^ Jaworski, Michał; Ziadé, Tarek (2019). Expert Python programming (Third ed.). Birmingham, U.K.: Packt Publishing. p. 173. ISBN  978-1-78980-677-9. OCLC  1125343555.
  4. ^ Danjou, Julien (2018). Serious Python: black-belt advice on deployment, scalability, testing, and more. San Francisco, CA: No Starch Press. pp. 145–149. ISBN  9781593278793. OCLC  1057729260.
  5. ^ Tagliamonte, Paul (2 April 2013). PyCon lightning talk (Speech). Python Conference (PyCon). Santa Clara. Retrieved 2 September 2014.
  6. ^ Tagliamonte, Paul (11 April 2014). Getting Hy on Python: How to implement a Lisp front-end to Python (Speech). PyCon. Montreal. Retrieved 2 September 2014.
  7. ^ Turto, Tuukka (14 February 2014). "Programming Can Be Fun with Hy". Open Source For You. Retrieved 2 September 2014.
  8. ^ Watson, Mark (2020). A Lisp Programmer Living in Python-Land: The Hy Programming Language (PDF). LeanBooks.
  9. ^ Edge, Jake (30 April 2014). "Getting Hy on Python". LWN.net. Retrieved 2 September 2014.
  10. ^ "Hy Documentation". hylang.org. Retrieved 3 September 2014.
  11. ^ Danjou, Julien (26 March 2014). "The AST". The Hacker's Guide to Python. pp. 165–172.
  12. ^ Kitchin, John (31 March 2016). "More on Hy and why I think it is a big deal". The Kitchin Research Group. Carnegie Mellon University. Retrieved 19 September 2018.
  13. ^ "Quickstart". Hylang.org. 15 May 2018. Retrieved 19 September 2018.

External links

1958 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
 LISP 1, 1.5, LISP 2(abandoned)
  Maclisp
  Interlisp
  MDL
  Lisp Machine Lisp
  Scheme  R5RS  R6RS  R7RS small
  NIL
  ZIL (Zork Implementation Language)
  Franz Lisp
  Common Lisp  ANSI standard
  Le Lisp
  MIT Scheme
  XLISP
  T
  Chez Scheme
  Emacs Lisp
  AutoLISP
  PicoLisp
  Gambit
  EuLisp
  ISLISP
  OpenLisp
  PLT Scheme   Racket
  newLISP
  GNU Guile
  Visual LISP
  Clojure
  Arc
  LFE
  Hy
  Chialisp

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook