103 lines
3.5 KiB
Groff
103 lines
3.5 KiB
Groff
|
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>.
|
||
|
|
||
|
Scheme 48's floating point support was inadvertently omitted from the last
|
||
|
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.
|
||
|
|
||
|
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
|
||
|
users. In particular, we'd like to thank Alan Bawden, Michael Becker, 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.
|
||
|
|
||
|
Thanks, guys; we really appreciate the feedback.
|
||
|
|
||
|
Olin Shivers Brian D. Carlstrom
|
||
|
Cambridge, Mass. Santa Clara, Ca.
|
||
|
|
||
|
May, 1997
|