PLDB
Languages Features Calendar CSV Lists Blog About Sponsor Add Language
GitHub icon

Hy

Hy

Hy is a pl created in 2013 by Paul Tagliamonte.

#191on PLDB 9Years Old 5.6kUsers
0Books 0Papers 398Repos

Try now: Riju · TIO

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...


Example from the web:
(+ "Hyllo " "World" "!")
Example from Riju:
(print "Hello, world!")
Example from hello-world:
(print "Hello World")
Example from Linguist:
;; 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))))
Example from Wikipedia:
=> (print "Hy!") Hy! => (defn salutationsnm [name] (print (+ "Hy " name "!"))) => (salutationsnm "YourName") Hy YourName!

Language features

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 print
Comments
; A comment
Line Comments
; A comment
;
Semantic Indentation ϴ
x86-assembly.html · hy.html · toml.html

View source

PLDB - Build the next great programming language · v2022 · Day 32 · Docs · Build · Acknowledgements · Traffic Today · Traffic Trends · Mirrors · GitHub · feedback@pldb.com