4 ms·
I feel like I say this a lot, but if you like Guile you should really check out Gauche. It has more "batteries" included than Python, several of the "alien tech
by nerdponx 3y ago
I feel like I say this a lot, but if you like Guile you should really check out Gauche. It has more "batteries" included than Python, several of the "alien technology" features that people expect from Common Lisp, and good documentation to help you navigate it all.
Scheme itself has a reputation for being very "minimal", and R7RS itself is great, but it also shines as a base for bigger languages like Guile and Gauche.
Clojure is pretty cool too though. I love that it really has a life of its own as a "third" dialect to complement Common Lisp and Scheme.
Can't speak for Elisp, not enough room in my brain to learn Emacs after years of Vim.
If you like Python, I'd also like to shout out Hy (https://hylang.org/ https://hylang.org/), which compiles to Python, and like Fennel is to Lua, it does a reasonably good job of bolting on s-expressions while preserving the semantics of the underlying language. It's definitely a "bigger" language than Fennel, but Python is similarly "bigger" than Lua. Hy has also developed its own distinct feel, especially when you take into account the first-party Hyrule utility library (https://hyrule.readthedocs.io/en/master/index.html https://hyrule.readthedocs.io/en/master/index.html) which provides a lot of very interesting macros, deriving lots of useful ideas from both Common Lisp and Clojure.
- rcarmo 3y agoI've been using Hy on and off. Off because it broke "let" at one point and I had a few critical things (like my entire site engine) written in it, and on because I like it a lot. But it's not a great LISP for performance (Fennel can run rings around it when using luajit), and I wish they shipped a 1.0 (I cringe every time I read the changelog for a release and check the "breaking changes" part, which is always... beefy).
- Zambyte 3y ago> Off because it broke "let" at one point It wouldn't be very difficult to provide an implementation of `let` that behaves how you would like though, so there is that at least.
- drekipus 3y agoI tried Hy for 2023 AoC and loved it, but it broke after day 8 because the solution I wrote crashed after 40mins. but re writing the same logic in python took 2 mins to complete. Hy is nice, but "compiling to python" isn't
- nerdponx 3y agoThat's a new one to me, I've never had a Hy program perform substantially worse than the equivalent Python. I'm curious what the offending code was!
- drekipus 3y agoI think from memory it was to do with recursion (ie: stack overflow error) from having a few too many nested `lfor`s I'll try and find it
- p4bl0 3y agoYour description of Gauche makes me think of Racket, which I really like. How would you compare the two?
- lioeters 3y agohttps://github.com/shirok/Gauche https://github.com/shirok/Gauche http://www.practical-scheme.net/gauche/index.html http://www.practical-scheme.net/gauche/index.html
- at_a_remove 3y agoI've always been curious about trying out a Lisp, but it always seemed like I was going to have to implement everything myself. Your note on Gauche having the same batteries-included outlook as Python is very tempting indeed.