MIT 6.001

Ray Dillinger
Mon, 9 Nov 1998 16:37:49 -0800 (PST)

>Even though it isn't lisp, the scheme shell scsh is probably to way to go.
>I've often thought of rewriting the init scripts in scsh to make a more
>lispish system, but the extent of the task has prevented me from
>undertaking it.

Excuse me?  It's as much a LISP as any other dialect -- Common
Lisp, Scheme, Elisp, Symbolics LISP, etc, as well as other
dialects, even non-standard ones like that implemented by scsh
(which is "almost" scheme... ) are all under the "big tent"....
LISP is a large family of languages, not a single standard.

There is no standard for LISP, per se, at least not one that's
been implemented in the last twenty years.  If you want to go
back to when McCarthy was developing it, I think that's the last
time LISP was really just *one* language.  And that's not a
dialect I'd really like to work with now that we've spent so
many years developing the ideas and forms.  

>As a shell, scsh is pretty much unparalleled.  I can think of no other
>shells that have access to all of the POSIX system calls.  Its only
>detriment is that nobody has written a CLI interface for it.  IOW, there's
>no way to interact with it other than the old, difficult REPL.  

Huh??  The REPL *is* a CLI interface. The reason nobody else has
written another CLI for scsh is probably because (personal
opinion follows) it's the best of all possible CLI interfaces.

Of course, the power is unparalleled in CLI's, as you note:  I
find it a lot clearer than most CLI's. 

But the coolest thing about a REPL shell, really, is that it's
the *same* language you use to do programming.  I'd like to see
more "standard" commands for it, but absolutely do *NOT* want to
see more another *mode* of interaction with it.

Having a REPL command-line provides a learning curve with no
sharp edges for people getting into programming, which *is*
important.  It provides a shell you can get used to, and then
you don't have to ask idiot questions like "how do I list a
directory or read a file in this programming language", because
once you get the command line, you already know.  And
conversely, your programming talent, practice, and expertise
will make you wizardly at the command line.  A REPL command line
is one of the primary *features* I want in a LISP operating
system, not something that "will do until we get a real CLI
ready."  Scsh is my default shell for exactly that reason.

Sadly, there are things you "just can't do" in Scsh, which you
address below (termcap functions).  These are not a matter of
having a different interaction mode, these are a matter of the
language needing to be extended...  :-)  I think we agree though 
on the basic form of what we want....

>took the time to write linkage to the GNU readline library and to termcap
>then you'd have a shell that spoke scheme, had history, complex screen
>commands (such as making text windows and the like), and full access to
>all the major UNIX syscalls.  Someone wrote a web server in it, for
>example.  It's much more than just a shell scripting interpreter, except
>for its lacking a terse command set and having a good command line iface.