Hissp, with its bundled reader Lissp, is a Lisp dialect that compiles to Python. It's fully interoperable with Python, because it compiles to Python. And it has macros!
The docs include tutorials, if you want to try it out.
I had to code in Java for school, but after discovering Python, it seemed tediously verbose. Having read the two-volume Java textbook for one of my courses, I felt I knew Java pretty well, and experimented with how far I could bend the language to make it work more like Python (the result was Saccharin).
My interest in what make programming languages different eventually led me to Lisp. I studied Common Lisp a bit and I learned to write macros in Clojure, which seemed like a good language to study after Java, due to the interop.
I love Python and think it's an awesome language and ecosystem, but it's still a Blub. So I experimented with how far I could bend the language to make it work more like Lisp (the result was Drython).
Around the same time I had discovered that Clojure had other implementations, like ClojureScript, including one on Python that was never finished. When looking for a maintained version, I discovered Hy, which satisfied me for a time, but as I began using it, I ran into a lot of problems.
Being the language hacker I am, I started contributing, but as I learned more about how Hy (and Lisp) worked, I eventually became frustrated with its fundamental architecture, and decided I might be able to do better by starting over and applying what I learned from Drython.
The result was Hissp.
I've been working on it on and off for over a year now. I got a basic prototype out fairly quickly, but making something new reliable is harder. Writing tests, thorough documentation, and an alternative reader designed for a language resembling Python (Hebigo) exposed a lot of flaws. The docs took the longest. I also needed to implemented a doc tester and syntax highlighter, which are in the git repo, but not the package.
I feel like Hissp is finally coming together. I just released version 0.2.0 on PyPI today.
1 comment
[ 1.0 ms ] story [ 13.0 ms ] threadThe docs include tutorials, if you want to try it out.
It came up briefly on HN before: https://news.ycombinator.com/item?id=20605660 (I was also a major contributor to Hy.)
I had to code in Java for school, but after discovering Python, it seemed tediously verbose. Having read the two-volume Java textbook for one of my courses, I felt I knew Java pretty well, and experimented with how far I could bend the language to make it work more like Python (the result was Saccharin).
My interest in what make programming languages different eventually led me to Lisp. I studied Common Lisp a bit and I learned to write macros in Clojure, which seemed like a good language to study after Java, due to the interop.
I love Python and think it's an awesome language and ecosystem, but it's still a Blub. So I experimented with how far I could bend the language to make it work more like Lisp (the result was Drython).
Around the same time I had discovered that Clojure had other implementations, like ClojureScript, including one on Python that was never finished. When looking for a maintained version, I discovered Hy, which satisfied me for a time, but as I began using it, I ran into a lot of problems.
Being the language hacker I am, I started contributing, but as I learned more about how Hy (and Lisp) worked, I eventually became frustrated with its fundamental architecture, and decided I might be able to do better by starting over and applying what I learned from Drython.
The result was Hissp.
I've been working on it on and off for over a year now. I got a basic prototype out fairly quickly, but making something new reliable is harder. Writing tests, thorough documentation, and an alternative reader designed for a language resembling Python (Hebigo) exposed a lot of flaws. The docs took the longest. I also needed to implemented a doc tester and syntax highlighter, which are in the git repo, but not the package.
I feel like Hissp is finally coming together. I just released version 0.2.0 on PyPI today.