From 9ff4f45d42cb9e965a3d9460e2f5a3cb4714e60c Mon Sep 17 00:00:00 2001 From: mainzelm Date: Fri, 5 Oct 2001 17:39:13 +0000 Subject: [PATCH] First version of 0.6.0 RELEASE file. --- RELEASE | 242 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 RELEASE diff --git a/RELEASE b/RELEASE new file mode 100644 index 0000000..53b9322 --- /dev/null +++ b/RELEASE @@ -0,0 +1,242 @@ +Scsh 0.6.0 Release notes -*- outline -*- + +We are pleased to release scsh version 0.6.0. The new release is +based on a newer version of Scheme 48 than the previous releases. The +update of the underlying system is a massive switch and provides many +new features, most notably a sophisticated thread system. We tried to +make as less changes as possible to the API, see Section "API changes" +for details. Unfortunately, due to the number of changes that were +necessary to the internal structures, this release will probably +contain some bugs. Don't hesitate to report bugs, we rely on your feedback! + +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 +release 0.6.0. (Emacs should display this document is in outline mode. Say +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 + Scsh is now based on Scheme 48 0.53 + API changes + Bugfixes +Thanks + + +* What is scsh +============== +Scsh is a broad-spectrum systems-programming environment for Unix embedded +in R4RS Scheme. It has an open-source copyright, and runs on most major +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 +report, "A Scheme Shell," also to appear in a revised format in the *Journal +of Lisp and Symbolic Computation." This paper is also available by ftp: + ftp://ftp-swiss.ai.mit.edu/pub/su/scsh/scsh-paper.ps + + +** 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 + ftp://ftp-swiss.ai.mit.edu/pub/su/scsh/scsh.tar.gz +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 + ftp://ftp-swiss.ai.mit.edu/pub/su/scsh/scsh-manual.ps +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: + http://www.swiss.ai.mit.edu/ftpdir/scsh/ +We now manage the project using SourceForge: + http://sourceforge.net/projects/scsh/ + +* New in this release +==================== + +** Scsh is now based on Scheme 48 0.53 + With the move from Scheme 48 version 0.36 to version 0.53 in this + release the underlying system received a massive update. The most + significant changes include: + User level threads + Advanced garbage collector + Improved foreign function interface to C + + The most significant change for Scsh users is the addition of a + user-level thread system. Scsh provides various features to deal + with this new power in a system programming environment: An event + based interface to interrupts, thread local process state and + thread-safe system calls. + +** Interface to syslog + +** API changes + Some procedures of the previous releases are currently not + supported as we did not have the time to implement them. Please tell + us, if you can't get along without them. Here is a listing of these + currently dereleased procedures: + select + select! + + The following procedures received new names in this release: + sleep (now process-sleep) + sleep-until (now process-sleep-until + + network-info, service-info and protocol-info now return #f on non-success + +** Undocumented features + The distributed code base provides some additional features but + these are currently neither documented nor do we guarantee that the + interfaces are stable. You may rest assured that we release these + features soon. If you come across anything of this code, proceed at + your own risk. + +** Bugfixes + Most of the known bugs of version 0.5.3 have been fixed. See the + 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 + +We'd like to thank everyone else for their patience; we are sorry that +it took almost two years from the start of the port to this release. + +Brought to you by the Scheme Underground. Go forth and write elegant systems +programs. + -Olin Shivers, Brian Carlstrom, Martin Gasbichler & Mike Sperber +