4 ms·
First order functions and the ability to override builtins. Definitely giving this a try. I've tried out several shells as primary drivers---bash, mksh, zsh, f
by xelxebar 8y ago
First order functions and the ability to override builtins. Definitely giving this a try.
I've tried out several shells as primary drivers---bash, mksh, zsh, fish. These got me thinking more generally in terms of "userspace tools" instead of just interfaces with coreutils etc, which made me wonder, can we use our favorite REPLs in lieu of a standard shell?
I've tried using Haskell's ghci as a "shell" and, fixable ergonomics aside, it seems doable. We already have interfaces to kernel syscalls, so in principle it's "just" a libraries problem. File I/O is probably the easiest, and with /proc and /sys, that's enough to replace several info-gathering system tools, e.g. df, lscpu, mount (just listing).
Really wish I could immerse myself in Haskell for a few years and see if I could learn enough to take this REPLshell idea somewhere.