aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README88
1 files changed, 50 insertions, 38 deletions
diff --git a/README b/README
index 8d4d31d..1443e0e 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-This directory contains the distribution of Scheme Library slib2d2.
+This directory contains the distribution of Scheme Library slib3a1.
Slib conforms to Revised^5 Report on the Algorithmic Language Scheme
and the IEEE P1178 specification. Slib supports Unix and similar
systems, VMS, and MS-DOS.
@@ -8,8 +8,8 @@ The maintainer can be reached at agj @ alum.mit.edu.
MANIFEST
- `README' is this file. It contains a MANIFEST, INSTALLATION
- INSTRUCTIONS, and coding guidelines.
+ `README' is this file. It contains a MANIFEST and INSTALLATION
+ INSTRUCTIONS.
`FAQ' Frequently Asked Questions and answers.
`ChangeLog' documents changes to slib.
`slib.texi' has documentation on library packages in TexInfo format.
@@ -19,7 +19,7 @@ The maintainer can be reached at agj @ alum.mit.edu.
`bigloo.init' is a configuration file for Bigloo.
`chez.init' is a configuration file for Chez Scheme.
`DrScheme.init' is a configuration file for DrScheme.
- `elk.init' is a configuration file for ELK 2.1
+ `elk.init' is a configuration file for ELK 3.0.
`gambit.init' is a configuration file for Gambit Scheme.
`macscheme.init' is a configuration file for MacScheme.
`mitscheme.init' is a configuration file for MIT Scheme.
@@ -32,16 +32,15 @@ The maintainer can be reached at agj @ alum.mit.edu.
`scm.init' is a configuration file for SCM.
`t3.init' is a configuration file for T3.1 in Scheme mode.
`STk.init' is a configuration file for STk.
- `umbscheme.init' is a configuration file for umb-scheme.
+ `umbscheme.init' is a configuration file for umb-scheme.
`vscm.init' is a configuration file for VSCM.
`guile.init' is a configuration file for guile.
`mklibcat.scm' builds the *catalog* cache.
`require.scm' has code which allows system independent access to
the library files.
+ `slib.sh' is a shell script for running various Schemes with SLIB.
`Bev2slib.scm' Converts Stephen Bevan's "*.map" files to SLIB catalog entries.
- `format.scm' has Common-Lisp style format.
- `formatst.scm' has code to test format.scm
`pp.scm' has pretty-print.
`ppfile.scm' has pprint-file and pprint-filter-file.
`obj2str.scm' has object->string.
@@ -63,6 +62,7 @@ The maintainer can be reached at agj @ alum.mit.edu.
`hash.scm' defines hash, hashq, and hashv.
`hashtab.scm' has hash tables.
`sierpinski.scm' 2-dimensional coordinate hash.
+ `phil-spc.scm' Peano-Hilbert Space-Filling Curve.
`soundex.scm' English name hash.
`logical.scm' emulates 2's complement logical operations.
`random.scm' has random number generator compatible with Common Lisp.
@@ -75,10 +75,19 @@ The maintainer can be reached at agj @ alum.mit.edu.
`selfset.scm' sets single letter identifiers to their symbols.
`determ.scm' compute determinant of list of lists.
`charplot.scm' has procedure for plotting on character screens.
+ `grapheps.scm' has procedures for creating PostScript graphs.
+ `grapheps.ps' is PostScript runtime support for creating graphs.
+ `matfile.scm' reads MAT-File Format version 4 (MATLAB).
`plottest.scm' has code to test charplot.scm.
- `tek40.scm' has routines for Tektronix 4000 series graphics.
- `tek41.scm' has routines for Tektronix 4100 series graphics.
- `getopt.scm' has posix-like getopt for parsing command line arguments.
+ `solid.scm' has VRML97 solid-modeling.
+ `colorspc.scm' has CIE and sRGB color transforms.
+ `colornam.scm' has color-name database functions.
+ `mkclrnam.scm' creates color-name databases.
+ `color.scm' has color data-type.
+ `cie1931.xyz' CIE XYZ(1931) Spectra from 380.nm to 780.nm.
+ `cie1964.xyz' CIE XYZ(1964) Spectra from 380.nm to 780.nm.
+ `daylight.scm' Model of sky colors.
+ `getopt.scm' has posix-like getopt for parsing command line arguments.
`psxtime.scm' has Posix time conversion routines.
`cltime.scm' has Common-Lisp time conversion routines.
`timezone.scm' has the default time-zone, UTC.
@@ -88,23 +97,29 @@ The maintainer can be reached at agj @ alum.mit.edu.
`rdms.scm' has code to construct a relational database from a base
table implementation.
`alistab.scm' has association list base tables.
- `dbutil.scm' has utilities for creating and manipulating relational
+ `dbutil.scm' has procedures for creating and opening relational
databases.
+ `dbsyn.scm' has Syntactic extensions for RDMS (within-database).
+ `dbcom.scm' embeds *commands* in relational databases.
+ `dbinterp.scm' Interpolate function from database table.
`htmlform.scm' generates HTML-3.2 with forms.
`db2html.scm' convert relational database to hyperlinked tables and
pages.
`http-cgi.scm' serves WWW pages with HTTP or CGI.
+ `html4each.scm' parses HTML files.
+ `dirs.scm' maps over directory filenames.
`uri.scm' encodes and decodes Uniform Resource Identifiers.
`dbrowse.scm' browses relational databases.
`paramlst.scm' has procedures for passing parameters by name.
`getparam.scm' has procedures for converting getopt to parameters.
- `report.scm' prints database reports.
+ `manifest.scm' List SLIB module requires and exports; useful for compiling.
+ `top-defs.scm' Finds external references.
+ `vet.scm' Checks each module imports, exports, and documentation.
`schmooz.scm' is a simple, lightweight markup language for
interspersing Texinfo documentation with Scheme source code.
`glob.scm' has filename matching and manipulation.
`batch.scm' Group and execute commands on various operating systems.
- `makcrc.scm' Create Scheme procedure to calculate POSIX.2 checksums
- or other CRCs.
+ `crc.scm' Calculate POSIX.2 checksums and other CRCs.
`record.scm' a MITScheme user-definable datatypes package
`promise.scm' has code from R4RS for supporting DELAY and FORCE.
@@ -134,7 +149,8 @@ The maintainer can be reached at agj @ alum.mit.edu.
`wttree.scm' has weight-balanced trees.
`wttest.scm' tests weight-balanced trees.
`process.scm' has multi-processing primitives.
- `array.scm' has multi-dimensional arrays and sub-arrays.
+ `array.scm' has multi-dimensional arrays.
+ `subarray.scm' has subarray and accessory procedures.
`arraymap.scm' has array-map!, array-for-each, and array-indexes.
`sort.scm' has sorted?, sort, sort!, merge, and merge!.
@@ -147,7 +163,7 @@ The maintainer can be reached at agj @ alum.mit.edu.
`sc4opt.scm' has optional rev4 procedures.
`sc4sc3.scm' has procedures to make a rev3 implementation run rev4
- code.
+ code.
`sc2.scm' has rev2 procedures eliminated in subsequent versions.
`mularg.scm' redefines - and / to take more than 2 arguments.
`mulapply.scm' redefines apply to take more than 2 arguments.
@@ -161,9 +177,11 @@ The maintainer can be reached at agj @ alum.mit.edu.
`fluidlet.scm' has fluid-let syntax.
`structure.scm' has undocumented syntax-case macros.
`byte.scm' has arrays of small integers.
- `nclients.scm' provides a Scheme interface to FTP and WWW Browsers.
+ `bytenumb.scm' convert byte-arrays to integers; IEEE floating-point numbers.
+ `transact.scm' File locking and backup.
`pnm.scm' provides a Scheme interface to "portable bitmap" files.
`simetrix.scm' provides SI Metric Interchange Format.
+ `ncbi-dna.scm' reads and manipulates DNA and protein sequences.
`srfi.scm' implements Scheme Request for Implementation.
`srfi-N.scm' implements srfi-N.
@@ -237,6 +255,13 @@ when installing SLIB.
(require 'new-catalog)
+ The catalog also supports color-name dictionaries. With an
+SLIB-installed scheme implementation, type:
+ (require 'color-names)
+ (make-slib-color-name-db)
+ (require 'new-catalog)
+ (slib:exit)
+
Implementation-specific Instructions
------------------------------------
@@ -293,7 +318,7 @@ as outlined above.
To use SLIB in MzScheme, set the SCHEME_LIBRARY_PATH environment
variable to the installed SLIB location; then invoke MzScheme thus:
- `mzscheme -L init.ss slibinit'
+ `mzscheme -f ${SCHEME_LIBRARY_PATH}DrScheme.init'
- Implementation: MIT Scheme
`scheme -load ${SCHEME_LIBRARY_PATH}mitscheme.init'
@@ -326,27 +351,14 @@ library will then be accessible in a system independent fashion.
Please mail new working configuration files to `agj @ alum.mit.edu' so
that they can be included in the SLIB distribution.
- CODING GUIDELINES
+ USING SLIB
- All library packages are written in IEEE P1178 Scheme and assume that
-a configuration file and `require.scm' package have already been
+ All library packages are written in IEEE P1178 Scheme and assume
+that a configuration file and `require.scm' package have already been
loaded. Other versions of Scheme can be supported in library packages
-as well by using, for example, `(provided? 'rev3-report)' or `(require
-'rev3-report)'.
-
- `require.scm' defines `*catalog*', an association list of module
-names and filenames. When a new package is added to the library, an
-entry should be added to `require.scm'. Local packages can also be
-added to `*catalog*' and even shadow entries already in the table.
-
- The module name and `:' should prefix each symbol defined in the
-package. Definitions for external use should then be exported by having
-`(define foo module-name:foo)'.
+as well by using, for example, `(provided? 'r3rs)' or `(require 'r3rs)'.
- Submitted packages should not duplicate routines which are already in
-SLIB files. Use `require' to force those features to be supported in
-your package. Care should be taken that there are no circularities in
-the `require's and `load's between the library packages.
+The first chapter of the SLIB manual "The Library System" explains the
+mechanics of using SLIB modules.
- Documentation should be provided in Emacs Texinfo format if possible,
-But documentation must be provided.
+ http://swissnet.ai.mit.edu/~jaffer/slib_1