I like the general idea of execline, but I feel like it relies too much on chaining. It's a bit like Lisp, but without any parens - it hurts readability.
It went from "shells have too much syntax, which creates security issues" straight into "forth with blocks". My idea: runit already provides chpst, which folds things like cd, chroot, nice, etc into a single command; so let's put it all into a block with named parameters. Like this:
run {
dir: /usr/src/foo
script: {
./configure
make -j(nproc)
make install
}
nice: 20
ionice: idle
}
Maybe it could draw a bit from rc, which has actual lists as a first-class data structure.
I'm not exactly sure about the syntax, but that's the general direction.
It went from "shells have too much syntax, which creates security issues" straight into "forth with blocks". My idea: runit already provides chpst, which folds things like cd, chroot, nice, etc into a single command; so let's put it all into a block with named parameters. Like this:
Maybe it could draw a bit from rc, which has actual lists as a first-class data structure.I'm not exactly sure about the syntax, but that's the general direction.