@eruwero@ieji.de @mcrocker@indieweb.social I know about Guix and am quite familiar with Guile, at least version 2.0. The main problem is I stopped liking Guile at version 2.2. :) I stopped trusting libguile to do what I expected.
Also I am a 7th Revision fan. Guile makes claims of having R⁷RS support, but Guile has no actual R⁷RS support.
So the deal is I have no great preference for Guile over Nix! But I would take either over Common Lisp or Prolog. :) (I am fond of Mercury, but can't stand Prolog.)
@chemoelectric@masto.ai @mcrocker@indieweb.social fair enough :)
In the end you're dealing with a declarative DSL within guile anyway most of the time, so the revision shouldn't matter that much I think. I would prefer any kind of lisp over what nix has, just from the looks of it :)
And I quite like common lisp (not every aspect of it, but in general). Scheme is definitely more elegant but common lisp is just a beast
@eruwero@ieji.de @mcrocker@indieweb.social I cannot stand not having proper tail calls! That is why I do not like programming in Common Lisp.
I have written many examples for Rosetta Code (none since I caught COVID early in 2024, though). Often I added Common Lisp. That is most of my experience. Because CL does not guarantee any good behavior on tail calls, I generally use loops. And say BLECHHHHHH!!!!
Whereas in Scheme I program as if I had GOTO. LOL. Except it is proper tail calls, of course.
@chemoelectric@masto.ai @mcrocker@indieweb.social the standard doesn't require proper tail calls but most of the implementations support it. It's maybe not very nice to rely on that and have strictly speaking non-portable code but for me it's good enough.
@eruwero@ieji.de @mcrocker@indieweb.social Nix looks worse than it is. It is one of those languages, like JSON or Python, that for no good reason is not a LISP.
(Indeed, SXML exists to turn XML into a Lisp and there is a Lisp for the C-Python backend! Though Python is still IMO a very bad abuse of OO.)
If Nix WERE a Lisp, then it could easily have a good macro system. THAT is why I wish it were a Lisp!
The same thing goes for MLs and ATSes, though I have to admit they have nice syntaxes. (I have written much ATS2.)
@chemoelectric@masto.ai @mcrocker@indieweb.social I would also add Julia, it's basically a Lisp but looks like Matlab and Python, which drives me crazy.
@eruwero@ieji.de @mcrocker@indieweb.social OT: my most interesting contribution to Rosetta Code, I think, is my evolutionary algorithm in m4.
It runs only in GNU m4 and is thus proof that GNU m4 is the best m4. OpenBSD m4 makes a decent try, though.
@chemoelectric@masto.ai @mcrocker@indieweb.social sounds interesting :)