top | item 47101595

(no title)

kermatt | 8 days ago

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

discuss

order

comex|8 days ago

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|8 days ago

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

cwicklein|8 days ago

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|8 days ago

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.