As many of you know, I’ve been spending some time hacking on a Lisp variant that’s fully hosted in Python. If you want to read more about it, check out the slides I prepared for Boston Python’s meetup — in particular, pay attention to the “magic REPL”.
I’ve been pondering what to do next, and the natural instinct is for me to take a step back, and properly implement a few things I’ve forgotten. Namely: Macros. Yes. Macros. It’s a Lisp without Macros.
I’ve hit a few stumbling blocks in it’s implementation, and it’s been holding me up. I’m mostly concerned with how Hy should treat quoted forms, in particular I’m concerned about loosing the distinction between a vector and a list, since both convert into Python lists.
There is of course the option to encode Lists as:
`(list foo bar baz)
but that seems wrong.
I’ve also got some concerns about “derefing” values in a quoted form — I think this is just going to result in a lot of special casing for Macros.
More to come soon.
Source: FULL ARTICLE at Planet Ubuntu