Scsh projects

Scsh is a new Unix shell that is embedded inside Scheme. It provides a high-level Scheme notation for invoking and composing Unix programs. Instead of writing
    	delatex essay.tex | spell | sort | enscript -2r
you write
        (run (| (delatex essay.tex)
                (enscript -2r)))
Unlike traditional shells, scsh has more than a high-level notation; it also provides complete low-level access to the Unix kernel, and the programming power of Scheme. Scsh is currently useable, but needs further development. A possible project would be to develop a csh- or sh-like notation for interactive use. This would involve learning how to use lexer and parser generator tools, Scheme macro systems, and other sophisticated Scheme hacking techniques. We have a design for this, but no time to implement it.

The scsh system is available via anonymous ftp from MIT. ``A Scheme shell'' is a paper describing the design of scsh and giving a general introduction to the system. `` Scsh reference manual'' is the full manual for the system. A compressed tar file is available with the entire sources, and the manuals. It will build on SunOS, Solaris, 386 Linux, 386 NetBSD, NeXTSTEP 3.2, and HP-UX systems; it isn't hard to port scsh to other Unix boxes.