Brutkey

Barry Schwartz πŸ«–πŸ«–
@chemoelectric@masto.ai

@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.)

Barry Schwartz πŸ«–πŸ«–
@chemoelectric@masto.ai

@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. :) )


Barry Schwartz πŸ«–πŸ«–
@chemoelectric@masto.ai

@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.

Barry Schwartz πŸ«–πŸ«–
@chemoelectric@masto.ai

@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.

Barry Schwartz πŸ«–πŸ«–
@chemoelectric@masto.ai

@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.

eruwero
@eruwero@ieji.de

@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.