Lably
Skip to content

Hy (programming language)

  • 1 min read
  • 1 chapter

Related on Lably

Through Python (programming language), Java virtual machine and Library (computing)

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

Example code

From the language documentation:

<span id="mwOQ"></span><span class="nv" id="mwOg">=></span><span class="w" id="mwOw"> </span><span class="p" id="mwPA">(</span><span class="nb" id="mwPQ">print</span><span class="w" id="mwPg"> </span><span class="s" id="mwPw">"Hy!"</span><span class="p" id="mwQA">)</span> <span class="nv" id="mwQQ">Hy!</span> <span class="nv" id="mwQg">=></span><span class="w" id="mwQw"> </span><span class="p" id="mwRA">(</span><span class="kd" id="mwRQ">defn </span><span class="nv" id="mwRg">salutationsnm</span><span class="w" id="mwRw"> </span><span class="p" id="mwSA">[</span><span class="nv" id="mwSQ">name</span><span class="p" id="mwSg">]</span><span class="w" id="mwSw"> </span><span class="p" id="mwTA">(</span><span class="nb" id="mwTQ">print</span><span class="w" id="mwTg"> </span><span class="p" id="mwTw">(</span><span class="nf" id="mwUA">+</span><span class="w" id="mwUQ"> </span><span class="s" id="mwUg">"Hy "</span><span class="w" id="mwUw"> </span><span class="nv" id="mwVA">name</span><span class="w" id="mwVQ"> </span><span class="s" id="mwVg">"!"</span><span class="p" id="mwVw">)))</span> <span class="nv" id="mwWA">=></span><span class="w" id="mwWQ"> </span><span class="p" id="mwWg">(</span><span class="nf" id="mwWw">salutationsnm</span><span class="w" id="mwXA"> </span><span class="s" id="mwXQ">"YourName"</span><span class="p" id="mwXg">)</span> <span class="nv" id="mwXw">Hy</span><span class="w" id="mwYA"> </span><span class="nv" id="mwYQ">YourName!</span>

More in Computing and communication