1997-04-11 13:59:46 -04:00
|
|
|
We are pleased to release version 0.5 of scsh, the Scheme shell.
|
|
|
|
|
|
|
|
* Scsh
|
|
|
|
------
|
|
|
|
|
|
|
|
Scsh is a Scheme system designed for systems programming and high-level
|
|
|
|
scripting of Unix applications. It includes
|
|
|
|
|
|
|
|
- a complete Posix interface from Scheme, including complete
|
|
|
|
sockets support, signal handlers, and tty control;
|
|
|
|
|
|
|
|
- a uniform interface to other generally-universal Unix features,
|
|
|
|
such as symlinks and pseudo-terminals;
|
|
|
|
|
|
|
|
- a library of generally useful tools for scripting applications,
|
|
|
|
such as regular expressions;
|
|
|
|
|
|
|
|
- macro support for a high-level process notation, allowing one to
|
|
|
|
build pipelines of programs and redirect I/O, similar to Unix shells
|
|
|
|
such as sh and csh;
|
|
|
|
|
|
|
|
- a full R5RS-compliant Scheme, with important extensions: record types,
|
|
|
|
exceptions, and modules;
|
|
|
|
|
|
|
|
- command-line interface designed for writing scripts that are invoked
|
|
|
|
with #! triggers on their first line.
|
|
|
|
|
|
|
|
Scsh runs on most Unix platforms, including Linux, various BSD systems,
|
|
|
|
Solaris, AIX, and Irix. It is implemented as an extension of Scheme 48,
|
|
|
|
a portable, byte-code interpreter Scheme implementation.
|
|
|
|
|
|
|
|
* Obtaining scsh
|
|
|
|
----------------
|
|
|
|
|
|
|
|
You may obtain the new release at the scsh web page
|
|
|
|
|
|
|
|
http://www-swiss.ai.mit.edu/scsh/
|
|
|
|
|
|
|
|
which points to the following file, retrievable by anonymous ftp:
|
|
|
|
|
|
|
|
ftp://ftp-swiss.ai.mit.edu/pub/su/scsh/scsh.tar.gz
|
|
|
|
|
|
|
|
The tar file includes full sources, a detailed manual and a paper
|
|
|
|
describing the design of the system.
|
|
|
|
|
|
|
|
For the lazily curious, we also have the manual separately available as
|
|
|
|
ftp://ftp-swiss.ai.mit.edu/pub/su/scsh/scsh-manual.ps
|
|
|
|
Just click 'n view.
|
|
|
|
|
|
|
|
You should be able to build scsh for your system by simply ftping
|
|
|
|
the release file, and doing the following:
|
|
|
|
gunzip < scsh.tar.gz | tar xf -
|
|
|
|
cd scsh-0.5
|
|
|
|
./configure
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
|
|
|
|
* New in this release
|
|
|
|
---------------------
|
|
|
|
Our last release had a lot of new code, and some elements were pretty
|
|
|
|
flaky. Scsh is now much more robust. All known bugs have been fixed.
|
|
|
|
|
|
|
|
Scsh now supports complete Posix, including signal handlers.
|
|
|
|
Early autoreaping of child processes is now handled by a SIGCHLD
|
|
|
|
signal handler, so children are reaped as early as possible with no
|
|
|
|
user intervention required.
|
|
|
|
|
|
|
|
A functional static heap linker is included in this release.
|
|
|
|
It is ugly, limited in functionality, and extremely slow, but it works.
|
|
|
|
It can be used to build scsh binaries that start up instantly.
|
|
|
|
|
|
|
|
There is a new command-line switch,
|
|
|
|
-sfd <num>
|
|
|
|
which causes scsh to read its script from file descriptor <num>.
|
|
|
|
|
1997-04-19 15:12:37 -04:00
|
|
|
Scheme 48's floating-point support was inadvertently omitted from the last
|
1997-04-11 13:59:46 -04:00
|
|
|
release. It has been reinstated.
|
|
|
|
|
|
|
|
The regular expression system has been sped up. Regular-expression
|
|
|
|
compilation is now provided, and the AWK macro has been rewritten to
|
|
|
|
pre-compile regexps used in rules outside the loop. It is still, however,
|
|
|
|
slower than it should be.
|
|
|
|
|
1997-04-19 15:12:37 -04:00
|
|
|
We have introduced two new procedures for performing regexp-directed
|
|
|
|
string substitutions:
|
1997-04-17 22:02:15 -04:00
|
|
|
regexp-substitute
|
|
|
|
regexp-substitute/global
|
1997-04-19 15:12:37 -04:00
|
|
|
The design differs from what one finds in systems such as sed or perl,
|
|
|
|
and is quite powerful.
|
1997-04-17 22:02:15 -04:00
|
|
|
|
1997-04-11 13:59:46 -04:00
|
|
|
Execing programs should be faster in this release, since we now use the
|
|
|
|
CLOEXEC status bit to get automatic closing of unrevealed port file
|
|
|
|
descriptors.
|
|
|
|
|
|
|
|
* Thanks
|
|
|
|
--------
|
|
|
|
|
|
|
|
We received many bug reports, improvements, fixes and suggestions from scsh
|
1997-04-19 15:12:37 -04:00
|
|
|
users. In particular, we'd like to thank Alan Bawden, Michael Becker, Jim
|
|
|
|
Blandy, Jin Choi, Sean Doran, Lutz Euler, Kevin Esler, Rolf-Thomas Happe,
|
|
|
|
David Hull, Shriram Krishnamurthi, Tod Olson, Michel Schinz, Bill Sommerfeld,
|
|
|
|
Mike Sperber, and Victor Zandy for their contributions to this release.
|
1997-04-11 13:59:46 -04:00
|
|
|
|
|
|
|
Thanks, guys; we really appreciate the feedback.
|
|
|
|
|
|
|
|
Olin Shivers Brian D. Carlstrom
|
|
|
|
Cambridge, Mass. Santa Clara, Ca.
|
|
|
|
|
|
|
|
May, 1997
|