hy
hebigo
Our great sponsors
hy | hebigo | |
---|---|---|
52 | 21 | |
4,762 | 21 | |
0.8% | - | |
9.0 | 1.9 | |
9 days ago | about 1 year ago | |
Python | Python | |
Expat | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hy
- A dialect of Lisp that's embedded in Python
-
How to Write a (Lisp) Interpreter (In Python)
Not exactly the same (doesn't embed into the source like this did), but I believe Hylang[0] is the best Lisp package available for modern Python.
-
Sapling: A highly experimental vi-inspired editor where you edit code, not text
Isn't that a bit what hy (https://hylang.org/) tries to do ? AIUI it is a lisp interacting directly with the AST of Python, allowing seamless interop: Python modules can be used from hy and vice versa, everything is transparent.
- Hylang, a Lisp dialect embedded in Python
-
Hissp
I’ve been keeping loose tabs on this and Hy[1] for a while, but I’ve had some trouble figuring out the major differences between them and the use-cases for either. Would love to see an in-depth comparison in the form of a blog post sometime (though maybe the answer here is to do the research and write one up myself).
- Hy
-
Ask HN: Is SICP/HtDP still worth reading in 2023? Any alternatives?
“Python is for scientists. Lisp is for engineers.”
Then what does that make Hy language?
Re Languages with lots of example code and LLM’s
With translators or things like Hy lang, one could get the LLM’s to solve your problem in Python before converting it to another form. Then, you just need a translator. If lacking one, it’s easy to translate by hand.
The practicality of this concept will probably vary by use case. My experiments had GPT doing sketching, implementations, boilerplate, and even porting Python to Rust. A legally-clear LLM trained on multiple languages could probably be fine-tuned to do Python to LISP conversions. If not, Hy might be a stepping stone, too.
-
Sharing Saturday #469
You could say so: I've been maintaining the compiler since 2016 ;). Infinitesimal Quest 2 + ε (SQ) exists more to advance Hy than for its own sake.
- What if: python without commas
-
Best implementation of CL for learning purposes
If you are using Python - you might find Hylang (https://hylang.org) interesting.
hebigo
-
What is the point of the if __name__ == "__main__":, i.e. why use a file as both script and module?
The Lissp transpiler incrementally compiles and executes each top-level form to Python. It needs to do this in case there's a macro definition that might affect the compilation of a subsequent form. If it's only executing definitions, this is harmless, but if you want to precompile the main module, it needs the guard, or the side effects will happen too.
-
What's the most hilarious use of operator overloading you've seen?
If you want Python to be as customizable as Lissp, check out Hissp (and Hebigo).
-
Want cleaner code? Use the rule of six
Python's lambdas can have as many lines as you want. Just wrap parens around it. Hissp uses this form as a compilation target. Its REPL shows the Python compilation. Play around with it til you get it: https://github.com/gilch/hissp
- What would be your “perfect” programming language?
- Kamby – A programming language based on Lisp that doesn't seems like Lisp
- Wisp: Whitespace to Lisp
-
Is ECMAScript really a dialect of Lisp?
The original Lisp's S-expression syntax was just supposed to be an intermediate language used by the compiler when processing the real language based on M-expressions, which kind of never took off. Numerous alternatives to S-expressions have been proposed, and some retain homoiconicity, another feature diagnostic of a Lisp (and one that ECMAScript lacks). For example, see Hebigo's readme, which shows a direct correspondence between its Python-like syntax and that of Hissp's default reader (Lissp), which uses the S-expressions. Julia can also be written in S-expressions, but this usually only used in macro definitions.
- Why Hy?
-
Land of Lisp
I think LoL is too CL-specific. If you know both languages first, you can pretty much translate, but since they'd be trying to learn Lisp in the first place, this is a bad idea.
On the other hand, [Hissp][1] has a pretty good tutorial for anyone coming from a Python background.
-
Interesting or distinctive lisps?
Hebigo: a whitespaceLisp isomorphic to Hissp that looks like Python.
What are some alternatives?
hissp - It's Python with a Lissp.
hy-lisp-python - examples for my book "A Lisp Programmer Living in Python-Land: The Hy Programming Language"
Fennel - Lua Lisp Language
slime - The Superior Lisp Interaction Mode for Emacs
babashka - Native, fast starting Clojure interpreter for scripting
smtfmt - An SMT-LIB formatter.
eso-light-attack-weave - This is a macro for the game Elder Scrolls Online
coalton - Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.
Carp - A statically typed lisp, without a GC, for real-time applications.
smart-imports - smart imports for Python
awesome-clojure-likes - Curated list of Clojure-like programming languages.
awesome-functional-python - A curated list of awesome things related to functional programming in Python.