Remix.run Logo
kermatt 5 hours ago

Interesting config used a Scheme-like format. Any ideas on how that came to be?

comex 4 hours ago | parent | next [-]

Technically, it’s not just Scheme-like but literally a Scheme interpreter (TinyScheme). However, the Scheme isn’t being executed to make individual sandboxing decisions. It’s just executed once while parsing the config, to build up a binary sandbox definition which is what the kernel ultimately uses to make decisions (using a much more limited-purpose, non-Turing-complete execution engine).

selridge 3 hours ago | parent [-]

Do we know that engine is not Turing-complete for sure?

cwicklein 5 hours ago | parent | prev | next [-]

I believe GUIX is implemented in Scheme which makes Scheme a natural choice for expressing configuration. Lisp tend to be a natural configuration format for anything written in Lisp. Highly functional configuration processing comes practically for free.

epistasis 5 hours ago | parent | prev [-]

I was given trauma from my decades of ELisp configuration for emacs...

Writing a parser for Lisp S-expressions is dead-simple, I wonder if that's why they used the format.