4 ms·
This encouraged me to go back and get a two year old small project up to scratch with current Hy: https://github.com/natrys/ghdl https://github.com/natrys/ghdl
by natrys 4y ago
This encouraged me to go back and get a two year old small project up to scratch with current Hy:
https://github.com/natrys/ghdl https://github.com/natrys/ghdl
I definitely had fun writing that in Emacs/hy-mode. And indeed having access to Python ecosystem is neat. However, if I may:
- I didn't get to use any intellisense, which was quite painful. Is there any Language Server for Hy now?
- I think Hy tends to break with every Python minor release, which is a bit annoying. Stable is still broken on 3.10, and alpha is a big change.
- This one might be a matter of subjectivity but I felt that Hy is trying to be more "pythonic" and less "lispy", and I am not sure what to feel about that. For example, familiar things like `&kwargs` or `&optional` seems to have got replaced with something less familiar (particularly, change to `#**` for keyword arguments spurred this though).
- Kodiologist 4y ago1. Nope, sorry. 2. That's right. Hy depends much more on finicky details of Python than most Python packages do, particularly Python's AST, so each 3.x release of Python usually requires some changes to Hy to support it. Each Hy release supports (at least) all versions of Python 3.x that have been fully released and are not yet at end of life. 3. More precisely, we're trying to take more of our conventions from Python rather than Clojure. See https://news.ycombinator.com/item?id=31250992 https://news.ycombinator.com/item?id=31250992
- gilch 4y agoNot Intellisense, but there is jedhy: https://github.com/ekaschalk/jedhy https://github.com/ekaschalk/jedhy which can do completions. Last Hy version verified working for: Hy 0.16.0
- gilch 4y agoHissp is an alternative approach. Unlike Hy, which compiles to Python AST, Hissp compiles to Python, so it doesn't break with every Python release. Its read language (Lissp) doesn't have an Emacs mode (yet), but its syntax is so close to traditional Lisps that lisp-mode pretty much works. No completions either. There is Lily https://github.com/mjobuda/damascus-tools/tree/main/lily https://github.com/mjobuda/damascus-tools/tree/main/lily, which proved Jedi works on Lissp, but it's never quite worked right. Hissp leans more Lispy than Pythonic compared to Hy, but still prioritizes interop, so the object model is still Python's.