Here are a few minor comments on 0.3.
First, while "run" is a reasonable name for what it does, you use
symbols, like "&" for other cases. Maybe "!" would be a consistent alias
in the unix spirit for "run".
Second, the path searching forms of exec use the Bourne shell convention
that any slash in the path suppresses path searching. Some other
shells, notably rc, suppress the search iff the first character of
the path is slash or dot. That behavior is more useful because you
can use it to better distinguish commands or package them into
directories to be accessed by partially qualified name. For example,
Third, the reader gets unhappy when fed UTF-8 encoded unicode. UTF is
very well behaved, so it would be nice if scheme-48 accepted it. (scm
does, by the way.) Using 9term, a plan9 style terminal emulator for
X11, you would type the letter lambda as <compose>*l. In other words,
troff-esque escape sequences give you greek letters and similar
(you can ftp 9term from ftp.cs.su.oz.au:/matty/unicode/9term.1.6.3.tar.gz)
Finally, when you exit scsh, it says
Exit Scheme 48 (y/n)?
I'll only ask another 100 times.
It should probably call itself scsh, and only asking another 10 times
(or not at all) would be nicer.