Hy is an open source programming language created in 2013 by Paul Tagliamonte.
#148on PLDB | 11Years Old | 398Repos |
git clone https://github.com/hylang/hy
Hy (alternately, Hylang) is a programming language, a dialect of the language Lisp designed to interact with the language Python by translating expressions into Python's abstract syntax tree (AST). Hy was introduced at Python Conference (PyCon) 2013 by Paul Tagliamonte.Similar to Kawa's and Clojure's mapping of s-expressions onto the Java virtual machine (JVM), Hy is meant to operate as a transparent Lisp front end to Python's abstract syntax. Lisp allows operating on code as data (metaprogramming). Read more on Wikipedia...
(+ "Hyllo " "World" "!")
(print "Hello, world!")
(print "Hello World")
;; Fibonacci example in Hy.
(defn fib [n]
(if (<= n 2) n
(+ (fib (- n 1)) (fib (- n 2)))))
(if (= __name__ "__main__")
(for [x [1 2 3 4 5 6 7 8]]
(print (fib x))))
=> (print "Hy!")
Hy!
=> (defn salutationsnm [name] (print (+ "Hy " name "!")))
=> (salutationsnm "YourName")
Hy YourName!
Feature | Supported | Example | Token |
---|---|---|---|
MultiLine Comments | ✓ | ||
Integers | ✓ | ; -?\d+ | |
Floats | ✓ | ; -?\d+\.\d+ | |
Hexadecimals | ✓ | ; 0[xX][a-fA-F0-9]+ | |
Octals | ✓ | ; 0[0-7]+j? | |
Strings | ✓ | "Hello world" | " |
Print() Debugging | ✓ | ||
Comments | ✓ | ; A comment | |
Line Comments | ✓ | ; A comment | ; |
Semantic Indentation | X |