$Id: README,v 1.63 2005/12/09 20:15:18 phil Exp $ 1.1 release of ``The Macro Implementation of SNOBOL4 in C'' (CSNOBOL4) This is a free port of the original SIL (SNOBOL4 Implementation Language) "macro" version of SNOBOL4 (developed at Bell Labs) with the `C' language as a target. SNOBOL4, while known primarily as a string language excels at any task involving symbolic manipulations. It provides run time typing, garbage collection, user data types, on the fly compilation. It's primary weakness is it's simple syntax, and lack of "structured programming" and "object oriented" constructs. However some consider the spareness of SNOBOL4 syntax a strength when compared to some "modern" agglomerations such as Perl. The latest release can be found at http://www.regressive.org/snobol4 **************************************************************** Copyright (c) 1993-2005, Philip L. Budne All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. **************************************************************** Documentation; For a good SNOBOL4 tutorial look at the Catspaw SNOBOL4 tutorial; http://www.regressive.org/snobol4/doc/burks/tutorial/contents.htm Also useful are the Catspaw Vanilla SNOBOL4 manual; http://www.regressive.org/snobol4/doc/burks/manual/contents.htm and the Catspaw SPITBOL manual ftp://ftp.snobol4.com/spitman.pdf INSTALL Information on building and installing CSNOBOL4 README This file CHANGES Important changes since last release doc/load.txt Information on dynamicly loading code into SNOBOL4 (also installed in /usr/local/lib/snobol4/) doc/snobol4.1 man page for snobol4. describes changes from the SNOBOL4 reference ("green book"). doc/snobol4.0 text formatted output of snobol4 man page doc/snobol4.html WWW HyperText formatted output of snobol4.1 doc/snobol4.ps PostScript formatted output of snobol4.1 doc/snolib.3 man page for SNOBOL4 library routines doc/snolib.0 text formatted output of snolib.3 man page doc/snolib.html WWW HyperText formatted output of snolib.3 doc/snolib.ps PostScript formatted output of snolib.3 doc/snobol4dbm.3 man page for SNOBOL4 DBM library routines doc/snobol4dbm.0 text formatted output of snobol4dbm.3 man page doc/snobol4dbm.html WWW HyperText formatted output of snobol4dbm.3 doc/snobol4dbm.ps PostScript formatted output of snobol4dbm.3 doc/snobol4tcl.3 man page for SNOBOL4 TCL library routines doc/snobol4tcl.0 text formatted output of snobol4tcl.3 man page doc/snobol4tcl.html WWW HyperText formatted output of snobol4tcl.3 doc/snobol4dbm.ps PostScript formatted output of snobol4dbm.3 doc/porting.txt information on porting to a new system, particularly the usage of Makefile variables and m4 macros. doc/porting.ps porting information in PostScript. doc/porting.html porting information in HTML. TODO.soon current top priority tasks (hopefully small in any release) TODO older identified tasks / wish list. Mark Emmer has made his old 16-bit DOS Macro SNOBOL4 based product "SNOBOL4+" available for free. See http://www.snobol4.com and ftp://ftp.snobol4.com for it, many demo programs, SNOBOL4 language documentation, and ordering information for books & products from Catspaw! Mark Emmer also runs a SNOBOL4 mailing list; To join the list, send a mail message to "listserv@mercury.dsu.edu" with the line "subscribe SNOBOL4 Your Name" as the message body. "Your Name" should be your real name (your e-mail address will be used automatically for the subscription). Submissions to the list may be sent to "SNOBOL4@mercury.dsu.edu". To be removed from the list, send the message "unsubscribe SNOBOL4" to "listserv@mercury.dsu.edu". For more information see http://www.snobol4.com/listserv.htm Acknowledgments; First and foremost, I would like to thank Ralph Griswold, for all his invaluable help and time digging up old documentation! (as well as his work of 30 years ago, designing and implementing the language)! I would also never have succeeded without the help of Mark Emmer of Catspaw and his excellent SPARC SPITBOL product!! The contributions of source code by Mark Emmer (SNOBOL4+) and Viktors Berstis (Minnesota SNOBOL4) have allowed me to advance the state of CSNOBOL4 in ways that would have been otherwise impossible. The following have also provided help, encouragement, support, input, historical background, testing, fixes, money, etc (in chronological order); Bill Henneman Andrew Koenig Doug McIlroy Robert Dewar Alan Martin Jerry Leichter Scott Marovich Jonathan Chandross Randolph J. Herber Jules Gilbert Phillip Lee Thomas Martin D. Waller Burkhard Meissner John McHugh Chrystopher Nehaniv Arne Larsson Rik Faith Keith Waclena Steve Kibler Peter-Arno Coppen David J. Birnbaum Yuli Barcohen Stephen Del Rea David Feustel L. Gene Battin John Refling Greg White Russ Urquhart Jan Bernard Chris Anderson Rafal M. Sulejman Ed Quillen Robin H. Johnson Guido Milanese David Stodolsky Robin Kay Sudarshan Gaikaiwari If you make any changes/fixes/improvements, or port it to a new system, please send them to me (please include "timing.out" and tell me the system type, CPU clock speed, C compiler & version)!! If you are interested in getting mailings about new releases, send me mail. I'm interested in knowing what people are using SNOBOL4 for! Phil Budne