diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 88 |
1 files changed, 50 insertions, 38 deletions
@@ -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 |