SCSH, the Scheme Shell - A Scheme implementation specifically tailored for UNIX

scsh is about the best shell available in 2017.

To get going with scsh, use Kubuntu yakkety 32bit. So far 64bit porting in underway.

Nevertheless, yakkety32 runs faster than a speeding bullet on bare metal midrange laptops, although it sucks in virtualbox.


(the BELOW text is taken directly from the description of the Debian package of SCSH)

Scsh has a high-level process notation for doing shell-script like tasks: running programs, establishing pipelines and I/O redirection. Scsh embeds this process notation within a full implementation of Scheme, a minimal and clean dialect of the Lisp programming language. The process notation is realized as a set of macro definitions, and is carefully designed to allow full integration with standard Scheme code. Scsh isn't Scheme-like; it is Scheme.

At the scripting level, scsh also has an Awk design, also implemented as a macro that can be embedded inside general Scheme code.

Scsh additionally provides the low-level access to the operating system normally associated with C. The current release provides full access to POSIX, plus important non-POSIX extensions, such as complete sockets support. "Complete POSIX" means: fork, exec & wait, sockets, full read, write, open & close, seek & tell, complete file-system access, including stat, chmod/chgrp/chown, symlink, FIFO & directory access, tty & pty support, file locking, pipes, select, file-name pattern-matching, time & date, environment variables, signal handlers, and more.