This message announces the availability of Scheme Library release slib3a1. New in slib3a1: SLIB 3 has undergone major development from SLIB2d6. Most noticeable is that SLIB now has a module system with documented semantics and a suite of reflexive tools for deriving reference and module dependencies from library code. The reflexive tools are designed to support compiler-writer's needs as expressed in discussions arising from comp.lang.scheme in July 2003. The module semantics are intended to be compatible both with implementations having module systems and those lacking. Ivan Shmakov has been striving to integrate SLIB's and Scheme48's module systems. His efforts and SLIB's reflexive tools have found a great many bugs, some of them present since SLIB's beginnings. "make install" now creates a "slib" shell script for running various Schemes with SLIB initialization. Currently supported implementations are gsi (Gambit), Guile, MzScheme, Scheme48, and SCM. The byte-number module converts between byte-vectors, twos-complement integers, and IEEE floating-point formats -- all in R4RS-compliant Scheme code. It also converts byte-vectors to a form whose lexicographic ordering matches the encoded number's ordering. The correctly ordered byte representations of numbers tie in with SLIB's relational database being extended to include indexed sequential access methods (ISAM). The Database-interpolation module uses sequential methods to synthesize continuous functions from discrete data tables. These "continuous databases" are vital to my soon-to-be-released optics program which calculates spectral responses of layered thin films. The character plotting utility has been improved, and is now complemented by eps-graph, a very flexible graphing library for producing encapsulated-PostScript files. SRFI-2, SRFI-8, and SRFI-9 are added. Although I have endeavored to support legacy usage, some programs will need modification to work with SLIB 3. Some issues that I know of are: * REQUIRE no longer accepts a string as its argument. * The RANDOM module is split into RANDOM and RANDOM-INEXACT. * Some refactoring among TRANSACT, GLOB, and LINE-I/O. -=-=- SLIB is a portable Scheme library providing compatibiliy and utility functions for all standard Scheme implementations. SLIB includes initialization files for Bigloo, Chez, DrScheme, ELK, GAMBIT, MacScheme, MITScheme, PocketScheme, RScheme Scheme->C, Scheme48, SCM, SCSH, T3.1, UMB-Scheme, and VSCM. Documentation includes a manifest, installation instructions, and coding guidelines for the library. Documentation of each library package is supplied. SLIB Documentation is online at: http://swissnet.ai.mit.edu/~jaffer/SLIB.html SLIB is available from: http://swissnet.ai.mit.edu/ftpdir/scm/slib3a1.zip http://swissnet.ai.mit.edu/ftpdir/scm/slib-3a1-1.noarch.rpm swissnet.ai.mit.edu:/pub/scm/slib3a1.zip swissnet.ai.mit.edu:/pub/scm/slib-3a1-1.noarch.rpm SLIB-PSD is a portable debugger for Scheme (requires emacs editor): http://swissnet.ai.mit.edu/ftpdir/scm/slib-psd1-3.tar.gz swissnet.ai.mit.edu:/pub/scm/slib-psd1-3.tar.gz SCHELOG is an embedding of Prolog in Scheme+SLIB: http://www.cs.rice.edu/CS/PLT/packages/schelog/ Programs for printing and viewing TexInfo documentation (which SLIB has) come with GNU Emacs or can be obtained via ftp from: ftp.gnu.org:pub/gnu/texinfo/texinfo-4.0.tar.gz