scsh-0.6/RELEASE

209 lines
6.8 KiB
Plaintext
Raw Normal View History

2002-02-15 07:28:19 -05:00
Scsh 0.6.1 Release notes -*- outline -*-
We are pleased to release scsh version 0.6.1. This release fixes most
of the known bugs of the previous version. Users of version 0.6.0 are
strongly encouraged to upgrade to the new version.
2001-10-05 13:39:13 -04:00
The text below gives a general description of scsh, instructions for obtaining
it, pointers to discussion forums, and a description of the new features in
2002-02-15 07:28:19 -05:00
release 0.6.1. (Emacs should display this document is in outline mode. Say
2001-10-05 13:39:13 -04:00
c-h m for instructions on how to move through it by sections (e.g., c-c c-n,
c-c c-p).)
* Contents
==========
What is scsh
Scsh as a scripting language
Scsh as a systems-programming language
Scsh is a portable programming environment
Obtaining and installing scsh
Getting in touch
The World-Wide What?
New in this release
2001-11-21 09:31:17 -05:00
API changes
2001-10-05 13:39:13 -04:00
Bugfixes
Thanks
* What is scsh
==============
Scsh is a broad-spectrum systems-programming environment for Unix embedded
2001-11-21 09:31:17 -05:00
in R5RS Scheme. It has an open-source copyright, and runs on most major
2001-10-05 13:39:13 -04:00
Unix systems.
** Scsh as a scripting language
-------------------------------
Scsh has a high-level process notation for doing shell-script like tasks:
running programs, establishing pipelines and I/O redirection. For example, the
shell pipeline
gunzip < paper.tex.gz | detex | spell | lpr -Ppulp &
would be written in scsh as
(& (| (gunzip) (detex) (spell) (lpr -Ppulp)) ; Background a pipeline
(< paper.tex.gz)) ; with this redirection
Scsh embeds this process notation within a full Scheme implementation.
The process notation is realized as a set of macro definitions, and is
carefully designed to allow full integration with standard Scheme code.
Scsh isn't Scheme-like; it is Scheme.
At the scripting level, scsh also has an Awk design, also implemented
as a macro that can be embedded inside general Scheme code.
Scripts can be written as standalone Scheme source files, with a leading
#!/usr/local/bin/scsh -s
trigger line.
** Scsh as a systems-programming language
-----------------------------------------
Scsh additionally provides the low-level access to the operating system
normally associated with C. The current release provides full access to Posix,
plus important non-Posix extensions, such as complete sockets support.
"Complete Posix" means: fork, exec & wait, sockets, full read, write, open &
close, seek & tell, complete file-system access, including stat,
chmod/chgrp/chown, symlink, FIFO & directory access, tty & pty support, file
locking, pipes, select, file-name pattern-matching, time & date, environment
variables, signal handlers, and more.
In brief, you can now write Unix systems programs in Scheme instead of C.
For example, we have implemented an extensible HTTP server at MIT entirely
in scsh.
As important as full access to the OS is the manner in which it is provided.
Scsh integrates the OS support into Scheme in a manner which respects the
general structure of the language. The details of the design are discussed
in a joint MIT Lab for Computer Science/University of Hong Kong technical
2002-02-15 07:28:19 -05:00
report, "A Scheme Shell," also to appear in a revised format in the "Journal
2001-10-05 13:39:13 -04:00
of Lisp and Symbolic Computation." This paper is also available by ftp:
2002-01-09 04:34:02 -05:00
ftp://ftp.scsh.net/pub/scsh/papers/scsh-paper.ps
2001-10-05 13:39:13 -04:00
** Scsh is a portable programming environment
---------------------------------------------
Scsh is designed for portability. It is implemented on top of Scheme 48,
a byte-code-interpreter Scheme implementation. The Scheme 48 virtual machine
can be compiled on any system with a C compiler; the rest of Scheme 48 is
machine-independent across 32-bit processors. Scsh's OS interface is
also quite portable, providing a consistent interface across different
Unix platforms. We currently have scsh implementations for:
AIX
BSD/OS
CXUX
FreeBSD
HP-UX
IRIX
Linux
NetBSD
Solaris
SunOS
Ultrix
Win32
Darwin/Mac OS X
Scsh code should run without change across these systems.
Porting to new platforms is usually not difficult.
* Obtaining and installing scsh
===============================
You can get a copy of scsh via anonymous ftp, from
2002-01-09 04:34:02 -05:00
ftp://ftp.scsh.net/pub/scsh/scsh.tar.gz
2001-10-05 13:39:13 -04:00
The tar file includes a detailed manual and a paper describing
the design of the system.
For the lazily curious, we also have the manual separately available as
2002-01-09 04:34:02 -05:00
ftp://ftp.scsh.net/pub/scsh/0.6/scsh-manual.ps
2001-10-05 13:39:13 -04:00
Just click 'n view.
You *should* be able to build scsh on the standard platforms with exactly five
commands: gunzip, tar, cd, ./configure, and make. The configure script figures
out the special flags and switches needed to make the build work (thanks to
the GNU project for the autoconfig tool that makes this possible).
After doing the make, you can start up a Scheme shell and try it out
by saying
./go
See the manual for full details on the command-line switches.
If it's harder than this, and your system is standard, we'd like to know
about it.
* Getting in touch
==================
There are two main ways to join in scsh-related discussion: the mailing-list
scsh@zurich.ai.mit.edu
and the netnews group
comp.lang.scheme.scsh
These two forums should be equivalent, being bi-directionally gatewayed
at MIT, but due to technical problems it's better to read them both.
Bugs can be reported to
scsh-bugs@zurich.ai.mit.edu
or via the Scsh project's bugs section on SourceForge:
http://sourceforge.net/projects/scsh/
If you do not netnews hierarchy, or wish to join the mailing
list for other reasons, send mail to
scsh-request@zurich.ai.mit.edu
* The World-Wide What?
======================
We even have one of those dot-com cyberweb things:
2001-11-21 09:31:17 -05:00
http://www.scsh.net
2001-10-05 13:39:13 -04:00
We now manage the project using SourceForge:
http://sourceforge.net/projects/scsh/
* New in this release
====================
** API changes
For sre's, BOW, EOW, WORD, and WORD+ (which were already unsupported
in 0.6.0 on most platforms) are gone for good.
2001-10-05 13:39:13 -04:00
2001-11-21 09:31:17 -05:00
2001-10-05 13:39:13 -04:00
** Bugfixes
2002-02-15 07:28:19 -05:00
Most of the the known bugs of version 0.6.0 have been fixed. See the
2001-10-05 13:39:13 -04:00
project page on SourceForge for a list of the remaining known bugs.
* Thanks
========
We would like to thank the members of local-resistance cells for the
Underground everywhere for bug reports, bug fixes, design review and comments
that were incorporated into this release. We really appreciate their help,
particularly in the task of porting scsh to new platforms.
Friedrich Dominicus
Jay Nietling
Tim Bradshaw
Robert Brown
Eric Marsden
Paul Emsley
Pawel Turnau
Hannu Koivisto
Andy Gaynor
Francisco Vides Fernandez
Tim Burgess
Brian Denheyer
Harvey Stein
Eric Hilsdale
Andreas Bernauer
Reini Urban
2002-01-09 11:32:14 -05:00
Peter Biber
Roland Weiss
Richard G<>nther
Dirk Staneker
2001-10-05 13:39:13 -04:00
2002-01-09 11:32:14 -05:00
2001-10-05 13:39:13 -04:00
Brought to you by the Scheme Underground. Go forth and write elegant systems
programs.
-Olin Shivers, Brian Carlstrom, Martin Gasbichler & Mike Sperber