MIT 6.001

James A. Crippen crippenj@saturn.math.uaa.alaska.edu
Sat, 7 Nov 1998 23:58:06 -0900 (AKST)


On 6 Nov 1998, Sam Steingold wrote:

>  >> >Apparently students in MIT's introductory CS class, 6.001, are using
>  >> 
>  >>     Wondering if we could mirror that a bit by modifying runlevel 5 stuff
>  >> (Linux) to pop you into a special XEmacs or Emacs major mode on
>  >> login?
> 
> just put emacs as the login shell

Not what you want.  That would probably make life rather difficult as
there's no good way to handle X vs CLI sessions, and would result in a lot
of scripting cruft that would complicate things.
 
>  >> Would basically give you the same thing -- or something close.  Now we need
>  >> a basic Lisp shell.
> 
> CLISP? (http://clisp.cons.org)

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.

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.  If someone
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.

Go look, if you haven't already:
http://www-swiss.ai.mit.edu/scsh/scsh.html

cheers,
james

--
James A. Crippen, CS/Math tenured undergrad	<<Lambda calculus	.-.
crippenj@saturn.math.uaa.alaska.edu		  über alles!>>		   \
If the future isn't what it used to be, does that mean that the past	   /\
is subject to change in times to come?					  /  \