ANN: Hy - Python / Lisp interoperability layer (0.9.6)
Paul Tagliamonte
paultag at debian.org
Tue Apr 16 04:38:57 CEST 2013
Hello, World!
tl;dr
=====
Version: 0.9.6
License: Expat (sometimes called MIT)
Hilarious: Yes
Site: http://hylang.org
Hy is a wicked funny hack that lets you interop (in both directions)
with Lisp from Python (or with Python from Lisp).
It's pip installable:
$ pip install hy
[...]
$ hy
=> (print (.join ", " ["Hello" "World"]))
Hello, World
(REPL even has cute readline bits mostly workingish, with a few known
issues)
What's new
==========
There's a new release of hy (version 0.9.6) pushed to PyPi. It's hand-crafted
with the utmost care from the AUTHORS[1] to help you (yes, you!) hack using
Lisp without giving up your Python libs of choice (or even your Python
libs giving up on you!)
The source is on GitHub @ http://github.com/hylang/hy (star it,
fork it, hack it)
It's undergoing changes quite quickly - so, be careful! The API / language
is being worked out very quickly.
The two releases since the last post here (0.9.5 and 0.9.6) features the
following select features (for a full list, check NEWS, this is seriously
cut down)
* Added all the missing math operators.
* We now support float and complex numbers.
* Keywords (such as :foo) are now valid and loved.
* `try' now accepts `else'
* Added "not" as the inline "not" operator.
* `let' macro added
* Added "~" as the "invert" operator.
* Added the tail threading macro (->>)
* UTF encoded symbols are allowed, but mangled.
* If hoisting (for things like printing the return of an if statement)
have been added. '(print (if true true true))'
OK, what is it (technically)
============================
Hy is a set of hacks, implemented in Python, to lex and compile a Lisp
variant (called `Hy', which looks very similar to Clojure in some ways)
into Python AST, and transparently load it into sys.modules using a PEP
302 import hook.
I gave a lightning talk about Hy at PyCon, in case anyone's having
flashbacks. You can see that talk on my blog
(http://blog.pault.ag/post/46982895940/), or watch a full hour-long talk
about Hy at Boston Python at http://www.youtube.com/watch?v=ulekCWvDFVI
Thanks!
=======
Thanks, folks! Tweet about it, hack with it, hang out with us on #hy
on freenode[2].
Fondly, and with just tons of love,
[1]:
* Paul Tagliamonte <paultag at debian.org>
* Thomas Mashek <thomas at thescoundrels.net>
* Amrut Joshi <amrut.joshi at gmail.com>
* Christopher Allan Webber <cwebber at dustycloud.org>
* Will Kahn-Greene <willg at bluesock.org>
* James King <james at agentultra.com>
* Julien Danjou <julien at danjou.info>
* Nicolas Dandrimont <nicolas.dandrimont at crans.org>
* Gergely Nagy <algernon at madhouse-project.org>
* Konrad Hinsen <konrad.hinsen at fastmail.net>
* Vladimir Gorbunov <vsg at suburban.me>
[2]: http://webchat.freenode.net/?channels=hy
--
.''`. Paul Tagliamonte <paultag at debian.org>
: :' : Proud Debian Developer
`. `'` 4096R / 8F04 9AD8 2C92 066C 7352 D28A 7B58 5B30 807C 2A87
`- http://people.debian.org/~paultag
More information about the Python-announce-list
mailing list