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>

