@eruwero@ieji.de Even Schemes for the Java VM do not do proper tail calls, at least unless you use an option. The same is true of one other that compiles to C but whose name I do not remember. But some will refuse to call such an implementation βSchemeβ. Most implementations do handle tail calls correctly.
This applies even to call-with-current-continuation. Sometimes this is very inefficient. In Guile it is very inefficient, but works. In CHICKEN or Chez Scheme it is efficient. (And Chez is FAST.)
@eruwero@ieji.de (But I do not like Chez, because it is RβΆRS rather than Rβ·RS. In fact, RβΆRS is basically an attempt to make everybody be Chez Scheme. :) )
@eruwero@ieji.de SBCL supposedly supports all the optimizations. I havenβt really tested it. It is the go-to if you have a powerful enough system. But I noticed Maxima for Termux (a distro for Android phones) is built with ECL. Which makes a kind of sense, because ECL is meant for embedded systems--though I think thatβs supposed to be for the separate compilation aspect of ECL, not for how one uses it to compile Maxima.
@eruwero@ieji.de I am not upset with NixOS BTW. Despite that Nix is not a Lisp, the difference is that Nix has a more complex syntax (which makes a Lisp-like macro system impractical--but check out the mixins in D: https://dlang.org/articles/mixin.html -- D is the only C derivative I kind of like).
I was able to set up an OpenVPN server with very little configuration.
I did a LOT of screaming at the screen along the way, but it was because there was so little documentation. I had to randomly find the best way.
@eruwero@ieji.de Basically all I had to do was tell it to use nftables instead of iptables, and tell NixOS to do NAT for me.
I had been struggling with trying to get iptables and systemd (yuck! why canβt I just use ip route?) to do NAT and probably NixOS was trying to stop me from succeeding. :)
I have this server running on a mini PC with fast Ethernet that I got just for the purpose. Now I do not have to use the garbagy OpenVPN server that is in my Netgear router.
@chemoelectric@masto.ai the main reason I use guix instead of Nix is because it's one of the few fully free operating systems. Scheme as a configuration language is also great, I think it actually was what brought me to lisp. And that it doesn't use systemd is also a plus. But I'm sure Nix is great too, all the functional package management stuff is the same.