2008-02-01 Aubrey Jaffer * require.scm (*slib-version*): Bumped from 3a5 to 3b1. 2008-01-31 Aubrey Jaffer * FAQ, slib.spec, Makefile: Always put - between slib and version. 2008-01-28 Aubrey Jaffer * fdl.texi: (Version 1.2, November 2002) Registered in CVS. * slib.texi (About SLIB): SLIB is part of the GNU project. (Installation): Fixed \ problem choking pdf generation. 2008-01-23 Aubrey Jaffer * byte.scm: Rewritten to use uniform arrays. * random.scm (random): Err when passed negative number. * scheme48.init (char-code-limit): 128; does ascii conversions. 2008-01-23 Ivan Shmakov * scheme48.init (slib:os-strings): Fixed init for 1.7 (and 1.3). (defmacro:eval, defmacro:load): Fixed. 2008-01-21 Aubrey Jaffer * Makefile (ciefiles): Separated from Scheme sourefiles. (test): Unmaintained target removed. 2008-01-19 Aubrey Jaffer * scheme48.init (1+, -1+): Removed; choke Scheme48-1.7. Added SRFIs as found in Scheme-48 release-notes. (scheme-implementation-version): Lose text after number. * Makefile ($(S48SLIB), $(S48LIB)): Prefix with $(DESTDIR). 2008-01-18 Aubrey Jaffer * srfi-1.scm (lset<=): Fixed to use first argument. * Makefile (install, psdtemp/slib): mkdir -p. 2008-01-17 Aubrey Jaffer * transact.scm (word:lock!): Don't try to read file until after call-with-open-ports returns. (describe-file-lock): Handle case when file isn't locked. (windows:user-email-address): Much simplified; updated to Windows-XP from Windows-95. 2008-01-16 Aubrey Jaffer * Makefile (RSYNC): --rsync-path no longer needed. * transact.scm (describe-file-lock): Added diagnostic to current-error-port. * slib.nsi (MUI_ICON): Set to "SLIB.ico". * Makefile (allfiles): Added SLIB.ico. 2008-01-15 Aubrey Jaffer * rdms.scm (open-table): Return #f for failure per documentation. 2008-01-07 Aubrey Jaffer * solid.scm (light:point, light:spot): Fixed. 2008-01-02 Aubrey Jaffer * determ.scm (matrix:inverse, matrix->lists): Corrected documentation. 2007-12-31 Aubrey Jaffer * clrnamdb.scm, resenecolours.txt: Updated to Resene-2007. 2007-12-23 Aubrey Jaffer * slib.texi: Removed glob as alias for filename. * glob.scm: In documentation, removed glob as alias for filename. * dirs.scm: Require 'filename instead of 'glob. * require.scm: Condition SRFI scan on srfi-0. * mklibcat.scm: Feature-name is srfi-0 (was srfi). * scheme48.init, mzscheme.init, Template.scm, umbscheme.init, vscm.init, STk.init, scheme2c.init, scsh.init, sisc.init, t3.init, RScheme.init, macscheme.init, mitscheme.init, pscheme.init, jscheme.init, kawa.init, bigloo.init, chez.init, elk.init, gambit.init, guile.init (slib:features): Added srfi-96. Replaced srfi with srfi-0. * mbe.scm (macro:eval): defmacro:eval. (macro:load): defmacro:load. * defmacex.scm (defmacro:expand*): Use macroexpand instead of macroexpand-1 in preparation for macroexpand-1 deprecation. * vscm.init (slib:features): Added macro. * RScheme.init (slib:features): Added defmacro. * mzscheme.init (slib:features): Added syntax-case. * guile.init, scheme48.init, sisc.init (macro:load): slib:load-source. * umbscheme.init, pscheme.init (defmacro:eval, defmacro:load): Simplified. * kawa.init, mitscheme.init, bigloo.init, gambit.init, jscheme.init: (re)moved some comments. * Template.scm, t3.init, STk.init, macscheme.init, scheme2c.init, scsh.init, chez.init, elk.init (slib:features): Added defmacro. 2007-12-21 Aubrey Jaffer * slib.nsi: Added *.init files. * slib.sh, slib.1: Added Larceny. * slib.texi (Installation): Added Larceny. * README (Implementation-specific Instructions): Updated. 2007-12-20 Aubrey Jaffer * prec.scm (prec:parse-delimited): First (recursive) clause was missing argument. 2007-12-18 Aubrey Jaffer * guile.init ((ice-9 slib)): "ice-9/slib.scm" doesn't become valid (and shorter) until version guile-1.8.3. 2007-12-08 Aubrey Jaffer * Makefile (catalogs): Copy "mkpltcat.scm" to "mkimpcat.scm" in mzscheme's implementation-vicinity. (mkfiles): Added "mkpltcat.scm". * mkpltcat.scm: "mkimpcat.scm" for mzscheme which adds all supported SRFIs to the catalog. * mzscheme.init (slib:features): Added format. (slib:load-compiled): Handle SRFI requires. * slib.texi (Spectra): Clarified action of features cie1964, cie1931, and ciexyz. 2007-11-29 Aubrey Jaffer * slib.texi (Installation): Documented *_IMPLEMENTATION_PATHs. * slib.sh: mzscheme.init renamed from DrScheme.init. * mzscheme.init: Renamed from DrScheme.init. * Makefile (ifiles): mzscheme.init renamed from DrScheme.init. * Template.scm (implementation-vicinity): Environment variable {TEMPLATE}_IMPLEMENTATION_PATH overrides. * mitscheme.init (implementation-vicinity): Environment variable MITSCHEME_IMPLEMENTATION_PATH overrides. * vscm.init (implementation-vicinity): Environment variable VSCM_IMPLEMENTATION_PATH overrides. * STk.init (implementation-vicinity): Environment variable STK_IMPLEMENTATION_PATH overrides. * RScheme.init (implementation-vicinity): Environment variable RSCHEME_IMPLEMENTATION_PATH overrides. * jscheme.init (implementation-vicinity): Environment variable JSCHEME_IMPLEMENTATION_PATH overrides. * gambit.init (implementation-vicinity): Environment variable GAMBIT_IMPLEMENTATION_PATH overrides. * elk.init (implementation-vicinity): Environment variable ELK_IMPLEMENTATION_PATH overrides. * chez.init (implementation-vicinity): Environment variable CHEZ_IMPLEMENTATION_PATH overrides. * bigloo.init (program-arguments): Defined per information on http://practical-scheme.net/wiliki/schemexref.cgi?command-line and http://practical-scheme.net/wiliki/schemexref.cgi?executable-name. (implementation-vicinity): Environment variable BIGLOO_IMPLEMENTATION_PATH overrides. * guile.init (slib:features): Abstracted defined? tests. (implementation-vicinity): Environment variable GUILE_IMPLEMENTATION_PATH overrides. * DrScheme.init, elk.init (program-arguments): Fake the program name (first element) from scheme-implementation-type. (implementation-vicinity): Environment variable MZSCHEME_IMPLEMENTATION_PATH overrides. * scsh.init (program-arguments): Defined to command-line per http://practical-scheme.net/wiliki/schemexref.cgi?command-line * scheme48.init (program-arguments): Removed dummy definition. * sisc.init (library-vicinity, implementation-vicinity): Find path once. * scheme2c.init, kawa.init, umbscheme.init (implementation-vicinity): find path once. * slib.texi (System Interface): Added program-arguments. 2007-11-28 Aubrey Jaffer * slib.sh (Usage): Updated implementation list. * slib.texi (The SLIB script): Updated implementation list. 2007-11-27 Aubrey Jaffer (slib:load): Broken for Guile-1.6.7; conditioned 1.8 code. 2007-11-27 Rob Browning * guile.init (implementation-vicinity): Just (%site-dir). (file-position, gentemp): module-replace! (library-vicinity): Try (%search-load-path "slib/guile.init"). 2007-11-23 Aubrey Jaffer * require.scm (*slib-version*): Bumped from 3a4 to 3a5. * Makefile (new): Update jacal.texi. 2007-11-22 Aubrey Jaffer * mkclrnam.scm (load-rgb-txt): Added parser for Color-Naming-Experiment. 2007-11-03 Aubrey Jaffer * slib.texi (Input/Output): Added file-position. * elk.init, jscheme.init, kawa.init, macscheme.init, mitscheme.init, RScheme.init, bigloo.init, guile.init, pscheme.init, scheme2c.init, scheme48.init, scsh.init, sisc.init, STk.init, Template.scm, gambit.init, t3.init, umbscheme.init, vscm.init (file-position): Added procedure to set and retrieve file position. 2007-10-20 Aubrey Jaffer * DrScheme.init (slib:require): Removed superfluous definition. 2007-10-13 Aubrey Jaffer * slib.texi (System): Cleaned up browse-url entry. * require.scm: Check up to srfi-150. 2007-09-23 Aubrey Jaffer * guile.init (array?): Put in fix for (array? 'foo) returning #t. 2007-09-23 Robert Babbit * guile.init (system, delete-file, open-file, make-array): Changed from SET! to DEFINE and added Guile 1.8 module magic. 2007-09-04 Aubrey Jaffer * sisc.init: SISC has defmacro, but not macroexpand. 2007-09-03 Aubrey Jaffer * Makefile (srcdir.mk): Removed. (install*): Added $(DESTDIR) prefix. (ifiles): Added sisc.init. * ANNOUNCE, README, slib.sh, slib.texi: Added SISC. * sisc.init: Added. (slib:features): Added string-port. 2007-08-29 Aubrey Jaffer * dbinterp.scm (dbinterp:memoize): LAST-PAIR replaces LIST-TAIL. (interpolate-from-table): Removed memoizing from get, isam-prev. * mklibcat.scm, slib.texi, FAQ (SRFI): Added srfi-28. 2007-08-26 Aubrey Jaffer * FAQ (SRFI): Added section. * slib.texi (SRFI): Added srfi-94 and srfi-95. * Makefile (release): Update $(htmldir)SLIB.FAQ. 2007-08-24 Aubrey Jaffer * slib.texi (SRFI): Added 94 and 95. 2007-08-16 Aubrey Jaffer * array.scm (A:floR*b): Argument letter z --> x. (A:flo*d): Corrected typo (was A:flo*b); argument letter z --> q. (A:*): Coded TeXinfo explicitly to preserve procedure name case. 2007-07-24 Aubrey Jaffer * schmooz.scm (pathname->local-filename): Renamed from pathname->filename; put returned filename in user-vicinity. 2007-07-22 Aubrey Jaffer * schmooz.scm (pathname->filename): Added; complement to pathname->vicinity. (schmooz): Put generated .txi files in current directory. * Makefile (slib.fn): Removed. 2007-06-24 Aubrey Jaffer * determ.scm (matrix:sum, matrix:difference): Added. (matrix:product): Extended to multiplication by scalar. 2007-06-18 Aubrey Jaffer * Makefile (ifiles): Added kawa.init. * kawa.init: Added. getenv not available; so library-vicinity is hard-wired. * slib.texi (Bit-Twiddling): Added r6rs bitwise-bit-count. (Feature): Added kawa. * logical.scm (bitwise-bit-count): Added; returns negative integer for negative input. (logcount): Simplified in terms of bitwise-bit-count. 2007-06-08 Aubrey Jaffer * Makefile: Changed to use "mkdir -p" (per Marijn Schouten). 2007-05-31 Aubrey Jaffer * arraymap.scm (array-index-for-each): Added. (array-index-map!): Implemented in terms of array-index-for-each. 2007-05-01 Aubrey Jaffer * xml-parse.scm: Finished converting documentation to schmooz. * mklibcat.scm (ssax): Added alias for xml-parse. 2007-04-30 Aubrey Jaffer * xml-parse.scm (ssax:init-buffer): Made reentrant. (ssax:make-parser): Added argument length check. 2007-04-29 Aubrey Jaffer * slib.texi (Parsing XML): Added. * Makefile (txiscms): Added xml-parse. * xml-parse.scm: Added (demacroized from public-domain SSAX 5.1). 2007-04-28 Aubrey Jaffer * Makefile (slib.html): Make in unix for w32install because MinGW chokes on @syncodeindex. 2007-04-26 Aubrey Jaffer * mklibcat.scm (let-values): Added as alias for srfi-11. * hash.scm: Reordered definitions to suit Kawa. 2007-04-25 Aubrey Jaffer * slib.texi (Binding to multiple values): srfi-11 added. * srfi-11.scm: Added (http://srfi.schemers.org/srfi-11/srfi-11.html). 2007-04-19 Aubrey Jaffer * comparse.scm, dbutil.scm, slib.texi, solid.scm: Don't break @ref fields over lines. * batch.scm (batch:initialize!): Keep atari.st for legacy code. 2007-04-13 Aubrey Jaffer * slib.sh (Kawa): Now supported. * withfile.scm, trnscrpt.scm: Changed shadow bindings to not duplicate top-level names. * require.scm (slib:require, slib:require-if, slib:provide, slib:provided?): Reordered defines so Kawa loads successfully. 2007-04-07 Aubrey Jaffer * differ.scm (diff:edits): Finding edits needs a larger fp array than finding edit-length. 2007-03-28 Aubrey Jaffer * batch.scm (batch:initialize!): atari.st --> atari-st. * manifest.scm (feature->export-alist): path.scm --> path_scm. * cring.scm, wttree.scm: Replaced . with _ in identifier names for R4RS compatibility. * collect.scm (reduce): Support both comlist (2-argument) variant and the collect (> 2-argument) variant. * srfi-1.scm (reduce): Support both comlist (2-argument) variant and the SRFI-1 (3-argument) variant. 2007-03-26 Aubrey Jaffer * slib.texi (Sorting): Added srfi-95. * require.scm (slib:report, slib:report-locations): Changed shadow bindings to not duplicate top-level names. Code cleanup. * root.scm (integer-sqrt): Removed (now in "math-integer.scm"). * mularg.scm (/, -): Removed gratuitous shadow binding. * mklibcat.scm (srfi-95): Added alias for sort. 2007-03-05 Jerry van Dijk * Makefile (w32install): Added target. * slib.nsi: NSIS Windows installer script. 2007-03-05 Aubrey Jaffer * jscheme.init (force-output): Fixed typo. (scheme-implementation-version): 7.2. (gcd, lcm, round, atan, expt): Fixed some R5RS non-conformances. 2007-02-09 Taylor R. Campbell * mitscheme.init: TRANSFORMER-ITEM/EXPANDER is changed to STRIP-KEYWORD-VALUE-ITEM. 2007-01-28 Aubrey Jaffer * guile.init (gentemp): Added because Guile deprecates it and puts space in symbol name. 2007-01-03 Aubrey Jaffer * bytenumb.scm (ieee-float->bytes, ieee-double->bytes): Test for 0 and 0/0 only once. 2006-12-20 Aubrey Jaffer * bytenumb.scm (ieee-float->bytes, ieee-double->bytes): Changed abs to magnitude to work with 0/0. 2006-12-06 Aubrey Jaffer * qp.scm (qpn, qpr): Don't protect (capture) qp. 2006-11-23 Aubrey Jaffer * slib.texi (Sorting): Removed outdated survey of implementations. * sort.scm (sort:sort-list!): Don't do key-wrap! unless given key argument. 2006-11-22 Ivan Shmakov * scheme48.init (delete-file): Rewrote using Posix unlink. 2006-11-17 Aubrey Jaffer * elk.init (delete-file): Quoted filename to system. * scheme2c.init (delete-file, file-exists?): Quoted filename to system. * scheme48.init (delete-file): Quoted filename to system. * umbscheme.init (file-exists?, delete-file): Quoted filename to system. * vscm.init (file-exists?): Quoted filename to system. * batch.scm (batch:call-with-output-script): Quoted filename argument to chmod. 2006-11-10 Stéphane Rollandin * mwdenote.scm (mw:denote-of-define-macro, mw:denote-of-defmacro): Added. * mwexpand.scm (mw:expand): Don't expand DEFINE-MACRO args specs. 2006-11-06 Aubrey Jaffer * slib.texi (Sorting): Made asymptotic constraints more detailed. * slib.texi (Sorting): Updated for limited KEY arg calling. 2006-11-05 Aubrey Jaffer * sort.scm (sorted?, merge, merge!, sort, sort!): Call KEY arg at most once per element. 2006-11-04 Aubrey Jaffer * modular.scm (modular:*): Normalize inputs. 2006-11-01 Aubrey Jaffer * slib.texi: Eliminated cover texts from GFDL. 2006-10-29 Aubrey Jaffer * grapheps.ps (fudge3): Abstracted divisible-by-3 mess. 2006-10-21 Aubrey Jaffer * require.scm (*slib-version*): Bumped from 3a3 to 3a4. 2006-10-21 Aubrey Jaffer * grapheps.scm (plot): Handle list of lists data. 2006-10-13 Aubrey Jaffer * slib.texi (Sorting): Updated; cleaned up. * sort.scm (merge!): Fixed. (sort!): Swap pairs so that list returned EQ? to argument. 2006-10-11 Aubrey Jaffer * slib.texi (Sorting): Added optional KEY arguments. * sort.scm (sort, sort!, sorted?, merge, merge!): Added optional KEY argument. 2006-09-26 Aubrey Jaffer * dft.scm (dft, dft-1): Added routines which use the best method for decimating each dimension. (dft:dft): Call 1d transform only with contiguous arrays. (dft:dft): Tested and fixed for ranks 1 to 3. 2006-09-21 Aubrey Jaffer * dft.scm (dft:check-dimensions): Abstracted from fft and fft-1. 2006-09-19 Aubrey Jaffer * tzfile.scm (tzfile:read): Use subbytes instead of subarray. * byte.scm (subbytes): Added. (subbytes-read!, subbytes-write): Renamed from substring-... 2006-09-17 Aubrey Jaffer * Makefile (txiscms): Aded math-integer. (afiles): Added math-real. * slib.texi (Irrational Real Functions) (Irrational Integer Functions): Sections added. * math-integer.scm, math-real.scm: Added. 2006-09-15 Aubrey Jaffer * slib.texi (Feature): Indexed number-system attribute features. * require.scm: Tightened number-system attribute features. 2006-09-14 Aubrey Jaffer * indexes.texi (Index): Removed "Full Table of Contents". * slib.texi (SRFI): Added @ftindex entries. 2006-09-13 Aubrey Jaffer * slib.texi (SRFI): Added @ftindex entries for SRFIs. * vscm.init, umbscheme.init, Template.scm, t3.init, STk.init, scsh.init, scheme2c.init, RScheme.init, mitscheme.init, macscheme.init, jscheme.init, gambit.init, elk.init, DrScheme.init, chez.init, bigloo.init (slib:error): Capture `error' identifier (to survive redefinition). * srfi-23.scm (error): File added. * elk.init (slib:error): Removed bad insertion. 2006-09-12 Aubrey Jaffer * peanosfc.scm (peano-coordinates->integer) (integer->peano-coordinates): Fixed; were broken for rank != 2. 2006-09-10 Aubrey Jaffer * root.scm (integer-sqrt): Streamlined. 2006-09-05 Aubrey Jaffer * dft.scm (sft, sft-1, fft, fft-1): Added optional array-prototype argument. * subarray.scm (subarray): Handle reverse index ranges. 2006-09-04 Aubrey Jaffer * pnm.scm (pnm:array-write): Don't lose comments when recursing. * dft.scm (sft, sft-1): Slow Fourier transforms added. (dft:sft1d!, dft:fft1d!): Flipped polarity of exponent to agree with http://en.wikipedia.org/wiki/Discrete_Fourier_transform. * dft.scm: Renamed from "fft.scm". 2006-09-03 Aubrey Jaffer * fft.scm (fft:dft): Generalized to any positive rank. 2006-09-02 Aubrey Jaffer * slib.spec (%files): Added man1/slib.1.gz. 2006-08-13 Aubrey Jaffer * grapheps.ps (sign): Cleaner than inline code. 2006-08-10 Aubrey Jaffer * Makefile (dvi, pdf): New tetex-3.0(-20.FC5) broke them -- fixed. 2006-08-01 Aubrey Jaffer * grapheps.ps (setup-plot): Now handles decreasing axes. 2006-07-24 Aubrey Jaffer * grapheps.scm (rule-horizontal): Corrected documentation. 2006-07-10 Aubrey Jaffer * root.scm (secant:find-root-1): Fixed internal argument mismatch for number-of-iterations case. 2006-06-25 Aubrey Jaffer * bigloo.init (slib:features): Lacks object-hash. 2006-06-02 Aubrey Jaffer * getopt.scm (*argv*): Removed (define *argv* *argv*). 2006-05-21 Aubrey Jaffer * solid.scm (solid:prism, solid:lumber): Added. 2006-05-16 Aubrey Jaffer * array.scm (make-shared-array): Work for rank-0 arrays. (equal?): Compare element-by-element of two arrays. (make-array): Return string or vector even if prototype is a strict array. 2006-05-15 Aubrey Jaffer * array.scm (make-array): Return simple string or vector if possible. 2006-05-14 Aubrey Jaffer * slib.texi: Converted to @copying and GNU Free Documentation License. * Makefile (docs): Added target to make all documentation files and invoke xdvi. (texifiles): Added fdl.texi. 2006-05-13 Aubrey Jaffer * bigloo.init (slib:load): Fixed suffix lossage. (slib:features): Removed object->string and rationalize. * strcase.scm (symbol-append): Work with case-sensitive or case-insensitive symbols. 2006-05-01 Ivan Shmakov * scheme48.init (file-exists?): Much simplified. 2006-04-23 Kevin Ryde * guile.init: Fixed line-i/o in Guile >= 1.8. * srfi-1.scm (reduce-right): Was infinite loop. 2006-04-19 Aubrey Jaffer * *.init, Template.scm, require.scm (slib:features): Renamed from *features* to avoid conflict with Guile identifier. 2006-04-15 Aubrey Jaffer * Makefile (S48LIB): Renamed from LIB. (S48SLIB): Subdirectory of implementation-vicinity. (install48): Make $(S48SLIB) directory and files. 2006-04-05 Ben Goetter * pscheme.init: Revised for Pscheme 1.3. 2006-04-03 Aubrey Jaffer * simetrix.scm (SI:unit-infos): Updated u and eV to CODATA-2002. 2006-03-27 Aubrey Jaffer * require.scm (catalog:get): Handle (home-vicinity) being false. 2006-03-21 Aubrey Jaffer * scheme48.init: (slib:load-compiled): Loads a native SRFI module. Create "implcat" and new-catalog with native SRFI modules. 2006-03-19 Aubrey Jaffer * modular.scm (modular:characteristic, modular:+): Recoded so `-' has no more than 2 arguments. 2006-03-18 Aubrey Jaffer * scheme48.init (slib-primitives): Removed s48-modulo and s48-atan. * guile.init (char-code-limit): Reduced to workaround string ordering bug. 2006-03-17 Aubrey Jaffer * guile.init (system, delete-file, open-file, make-array): Changed from define to set! to eliminate guile-1.8.0 warning: WARNING: (guile-user): imported module (ice-9 slib) overrides core binding 2006-03-16 Aubrey Jaffer * guile.init (defined?, in-vicinity, port?, 1+, -1+, 1-): Removed definitions duplicating Guile defines. (*features*): Set, rather than define. (browse-url): Added. * require.scm (catalog:get): mklibcat is `source'. (require): Don't provide `new-catalog'. * mklibcat.scm: Change all slib files to `source'. 2006-03-01 Aubrey Jaffer * modular.scm (mod, rem): Removed. (modular:characteristic): Renamed from modulus->integer. (modular:expt): Handle base = modulus - 1. Corrected documentation. 2006-02-13 Aubrey Jaffer * require.scm (*slib-version*): Bumped from 3a2 to 3a3. 2006-02-02 Aubrey Jaffer * grapheps.scm (graph:plot): Plot multiple traces from array. (functions->array): Generalizes graph:plot-function. 2006-01-16 Aubrey Jaffer * guile.init (slib:load, slib:load-from-path): Adapted patch from Thomas Bushnell BSG for loading into SLIB module. * top-refs.scm (top-refs:expression): Check for lists before walking CASE and COND clauses (srfi-61.scm macro broke it). 2006-01-09 Aubrey Jaffer * http-cgi.scm (query-alist->parameter-list): Fixed order of nary fields. 2006-01-05 Aubrey Jaffer * db2html.scm (command:make-editable-table): Boolean "arity". * http-cgi.scm (http:status-line): Changed to HTTP-1.0; works better in MS-Windows. 2005-12-01 Aubrey Jaffer * require.scm, mklibcat.scm, mkclrnam.scm, alistab.scm, Makefile: Downcased *slib-version* symbol. * guile.init (home-vicinity): Check for getenv first. (*features*): Fixed array, system, etc. (system->line): Fixed return status (thanks to Rob Browning). (guile:wrap-case-insensitive): Removed; sources now case clean. * dirs.scm, transact.scm, batch.scm, prec.scm, Template.scm, *.init: Downcased all software-type symbols. 2005-11-26 Aubrey Jaffer * guile.init (system->line): Added features line-i/o and hash. (implementation-vicinity): Fixed to parent directory of ice-9. 2005-11-01 Aubrey Jaffer * peanosfc.scm (peano-coordinates->natural) (natural->peano-coordinates): Non-negative versions. 2005-10-29 Aubrey Jaffer * bytenumb.scm (bytes->ieee-float, bytes->ieee-double) (ieee-float->bytes, ieee-double->bytes): Fixed for -0.0. 2005-10-25 Aubrey Jaffer * bytenumb.scm (ieee-float->bytes, ieee-double->bytes): Handle 0/0 in srfi-70 arithmetic. 2005-10-18 Aubrey Jaffer * slib.texi (SRFI): Added table mapping SRFI to feature. (Scheme Syntax Extension Packages): Moved most SRFIs here. * mklibcat.scm (and-let*, receive, define-record-type) (guarded-cond-clause): Added aliases for srfi-2, srfi-8, srfi-9, and srfi-61. * srfi.scm: Removed comments about copyright. * slib.spec (%post): Commented out install-info. * Makefile (srfiles): Most srfi-* moved from txiscms. (srfiles): Added srfi-61. 2005-10-17 Ivan Shmakov * srfi-61.scm (cond): Added extension. * mklibcat.scm (srfi-61): Added. 2005-10-16 Aubrey Jaffer * slib.texi (Root Finding): integer-sqrt changed to floor of sqrt. * root.scm (integer-sqrt): Changed to algorithm attributed to Bradley Lucier by Steve VanDevender. 2005-09-25 Aubrey Jaffer * slib.spec: Updated from RedHat version from Jindrich Novy. * guile.init (sub-vicinity): Downcased software-type symbols. 2005-08-16 Aubrey Jaffer * slib.texi (The Limit): Added. 2005-08-09 Aubrey Jaffer * slib.texi (Array Mapping): Added. * linterp.scm (interpolate-array-ref, resample-array!): Added. 2005-07-28 Aubrey Jaffer * phil-spc.scm (hilbert-coordinates->integer): nbits calculation was missing (incorrectly used rank). (bitwise-laminate, bitwise-delaminate): Removed unused functions. 2005-06-22 Aubrey Jaffer * slib.spec (install): Make slib executable. 2005-06-18 Aubrey Jaffer * Makefile (rpm): Program name changed to rpmbuild. * slib.spec: Fixed for rpmbuild version 4.3.1 2005-06-04 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 3a1 to 3a2. 2005-05-08 Aubrey Jaffer * Makefile (allfiles): Added clrnamdb.scm. 2005-04-15 Aubrey Jaffer * slib.texi (Installation): Instructions to replace Guile's built-in slib directory. 2005-04-14 Aubrey Jaffer * dynwind.scm (with-load-pathname): Redefinition removed. * slib.texi (Vicinity): with-load-pathname moved from System. * require.scm: Moved vicinity definitions to *.init. * Template.scm, *.init: Now contains all vicinity definitions. * pnm.scm (pnm:image-file->array, pnm:array-write): Support up to 16-bit values. * slib.texi (Color Data-Type): Expanded make-color description. * color.scm (make-color): Apply conversion function. 2005-04-11 Aubrey Jaffer * timecore.scm (time:year-70): Fixed -- was very broken. 2005-03-22 Aubrey Jaffer * solid.scm (solid:polyline): Added. 2005-03-20 Kevin Ryde * guile.init (?, >=?): Added rev2-procedures. (delete-file): Return #f for failure (not bomb). (system, open-file): Made compatible with SLIB. 2005-03-18 Reed Sheridan * uri.scm (uri:decode-authority, uri:split): Remove colon from end of idx-: (renamed cdx) to work around Gambit keyword syntax. 2005-03-18 Aubrey Jaffer * Makefile (install): Installs in $(libdir)slib/. (uninstall): Fixed. 2005-03-16 Aubrey Jaffer * array.scm (array->vector): Return vector for rank-0 array. 2005-03-13 Aubrey Jaffer * solid.scm (solid:text, solid:font): Added. (solid:extract-elevations): Rein in line length. 2005-03-07 Aubrey Jaffer * guile.init (a:*): Added case-insensitive aliases. (random:chunk): Added. 2005-03-06 Aubrey Jaffer * differ.scm (diff:edit-length): Reconciled case for Guile. * solid.scm (solid:bry): Fixed scaling off-by-one error. 2005-02-24 Aubrey Jaffer * phil-spc.scm (delaminate-list): Added. (integer->hilbert-coordinates, hilbert-coordinates->integer): Use lists of integers instead of bignums for intermediate results. 2005-02-23 Aubrey Jaffer * phil-spc.scm (integer->hilbert-coordinates) (hilbert-coordinates->integer): Distributed rank-bit flipping. 2005-02-21 Aubrey Jaffer * phil-spc.scm (hilbert-coordinates->integer) (integer->hilbert-coordinates): Added optional width argument treating integers as fractional bits. 2005-02-18 Aubrey Jaffer * grapheps.scm (set-margin-templates): Added. 2005-02-06 Aubrey Jaffer * peanosfc.scm: Peano space filling curve added. 2005-01-27 Aubrey Jaffer * logical.scm (any-bits-set?, first-set-bit, bitwise-merge): Added remaining SRFI-33 aliases. 2005-01-24 Aubrey Jaffer * guile.init: Removed gray-code functions (for SRFI-60). * logical.scm: Moved gray-code to "phil-spc.scm" (for SRFI-60). * phil-spc.scm: Moved gray-code functions from "logical.scm". 2005-01-23 Aubrey Jaffer * slib.texi (The SLIB script): Added section. * Makefile (uninstall): Added. (pinstall): Install slib.1 2005-01-20 Aubrey Jaffer * gambit.init: Major update for Gambit-C 4.0b12. * slib.texi (Define-Structure): Documentation from Gambit-C 4.0. * timecore.scm (tzfile:transition-index, time:split): Cleaned to work with Gambit-C time datatype. * Makefile (install): Include definition for S48_VICINITY. 2005-01-19 Aubrey Jaffer * http-cgi.scm (http:forwarding-page): Renamed DELAY argument. * htmlform.scm (html:meta-refresh): Renamed DELAY argument. * slib.sh (gsi): Gambit 4.0 doesn't allow input redirection; foils --version test. 2005-01-16 Aubrey Jaffer * array.scm: Fixed documentation. (make-array): Rank 0 arrays are box. (array->vector, array->list): Added. (list->array, vector->array): Added. 2005-01-09 Aubrey Jaffer * html4each.scm (htm-fields): Don't warn about empty ALT fields. * slib.texi (Bit-Twiddling): Updated for SRFI-60 changes. * phil-spc.scm: Updated for logical.scm changes. (bitwise-delaminate, bitwise-laminate): Moved from logical.scm. * logical.scm (logical:reduce): Handle null arity. (reverse-bit-field): Replaced bit-reverse export. (rotate-bit-field): Replaced logical:rotate export. (copy-bit-field): Chaned argument order. Laminates moved to "phil-spc.scm". ARITHMETIC-SHIFT replaces interal uses of ASH. 2005-01-07 Aubrey Jaffer * guile.init (expt): Workaround removed. LOGICAL: aliases removed. * sort.scm, pnm.scm, matfile.scm, logical.scm, grapheps.scm, fft.scm, differ.scm, determ.scm, charplot.scm, arraymap.scm: MAKE-ARRAY replaced CREATE-ARRAY. 2004-12-27 Aubrey Jaffer * array.scm (Ac64, Ac32, Ar64, Ar32): Added word "inexact" to descriptions. 2004-12-22 Aubrey Jaffer * vet.scm (vet-slib): Accept file arguments to include in vetting. 2004-12-19 Aubrey Jaffer * slib.texi (Bit-Twiddling): Updated and shuffled. * logical.scm (logand, logior, logxor): Take one or more arguments. 2004-11-14 Aubrey Jaffer * scheme48.init (inexact->exact, exact->inexact, atan, modulo): Bugs have been fixed in 1.1 2004-11-13 Aubrey Jaffer * scheme48.init: From s48-0_57.init, which works with Scheme48 1.1 2004-11-09 Aubrey Jaffer * db2html.scm (table->linked-html): Chop tables into 50-row chunks. * tzfile.scm (tzfile:read): Use bytes, not strings. * pnm.scm (pnm:write-bits): Added. * array.scm (make-shared-array): Recoded 3-arg -. 2004-10-27 Aubrey Jaffer * timezone.scm (read-tzfile): Check for "/etc/localtime". * psxtime.scm (tzset, daylight?, *timezone*, tzname): Moved from "timezone.scm". * slib.texi (Time Infrastructure): Added. * Makefile (afiles): Added "timecore.scm". * timecore.scm: Core time conversion routines split from "psxtime.scm". 2004-10-16 Aubrey Jaffer * html4each.scm (htm-fields): Handle field without value. 2004-10-15 Aubrey Jaffer * slib.texi (Cyclic Checksum): Added citation for Philip Koopman and his exhaustive analysis of CRC behavior. 2004-10-13 Aubrey Jaffer * byte.scm (bytes-reverse!): Was hosed for even number of bytes. 2004-10-10 Aubrey Jaffer * slib.texi (SRFI): SRFI-47 is the same as 'array. * colorspc.scm (read-normalized-illuminant, illuminant-map) (illuminant-map->XYZ): Added. (wavelength->CIEXYZ, XYZ:normalize, XYZ:normalize-colors) (temperature->CIEXYZ, spectrum->CIEXYZ, wavelength->CIEXYZ): Removed; use chromaticity functions instead. * daylight.scm (sunlight-chromaticity): Replaces sunlight-CIEXYZ. * solid.scm (scene:sun, scene:overcast): Use chromaticity to normalize XYZ values. * subarray.scm (subarray, array-trim): Rewrote for all-0-based arrays. 2004-10-07 Aubrey Jaffer * arraymap.scm (array-map!, array-for-each, array-index-map!): Use of ARRAY-DIMENSIONS replaces use of ARRAY-SHAPE. (make-shared-array): converted. * array.scm: Made compatible with SRFI-47. (equal?): Replaces array=?. (make-array): Restored. * schmooz.scm (schmooz-fun): Latest Texinfo needs additional blank lines after @end statements converting to info. 2004-10-03 Aubrey Jaffer * colorspc.scm (read-cie-illuminant): Added. * ciesia.dat: Added CIE Standard Illuminant A relative spectral power distribution 300 nm - 830 nm at 5 nm intervals. * ciesid65.dat: Added CIE Standard Illuminant D65 relative spectral power distribution 300 nm - 830 nm at 5 nm intervals. 2004-09-22 Aubrey Jaffer * slib.texi (Miscellany): Added EXPT for integers. * cring.scm (number^): Is EXPT. * modular.scm (modular:expt): EXPT replaces integer-expt. * bytenumb.scm (expt): Replaces BN:EXPT. * logical.scm (expt): Replaces INTEGER-EXPT. * Template.scm (expt): Define for exacts-only implementation. 2004-09-14 Aubrey Jaffer * arraymap.scm (array:copy!): Renamed from array-copy! and argument order reversed. 2004-09-04 Aubrey Jaffer * batch.scm (batch:write-comment-line): Simplified. (batch-line): Issue warning, but don't fail when line is too long. 2004-08-21 Aubrey Jaffer * format.scm (format:get-port-column, format:set-port-column!): Added to track individual port columns. * FAQ (What happened to FORMAT?): Question removed. * format.scm: Tidied slib:error messages. * Makefile (texifiles, format.texi): Added. * format.texi, formatst.scm: Reinstated. * format.scm: Made reentrant; call slib:error for errors. 2004-08-11 Aubrey Jaffer * matfile.scm (unwritten-stubber): Place holder for VAX and Cray floating conversions. 2004-08-10 Aubrey Jaffer * slib.texi (Session Support): Documented 'abort feature. * determ.scm (matrix2array, matrix2lists): Changed to 0-base. 2004-07-28 Aubrey Jaffer * top-refs.scm (exports<-info-index): Adjusted for texinfo 4.7, which breaks long index lines. 2004-07-27 Aubrey Jaffer * Makefile (docfiles): Added indexs.texi. * slib.texi (Top, About SLIB): Changed conditional for texinfo 4.7. * indexs.texi (Index): Give each index its own node. Moved index stuff here so it doesn't break texinfo-every-node-update. 2004-06-17 Ivan Shmakov * coerce.scm (type-of): Removed RECORD. * hash.scm (hash): Removed obsolete support for RECORD types. 2004-06-14 Aubrey Jaffer * *.init (slib:eval-load): Moved to "require.scm". * require.scm (slib:eval-load): Definition moved here. 2004-06-13 Aubrey Jaffer * slib.texi (System): Added with-load-pathname. * dynwind.scm (with-load-pathname): Redefine using dynamic-wind. * require.scm (vicinity:suffix?): Flag unknown SOFTWARE-TYPE. * *.init (slib:eval-load): Converted to use with-load-pathname. 2004-06-13 Ivan Shmakov * manifest.scm (file->loads, file->definitions, file->exports): * top-refs.scm (top-refs:include): * ppfile.scm (pprint-filter-file): * Template.scm (slib:eval-load): * repl.scm (repl:repl): Converted to use with-load-pathname. * require.scm (with-load-pathname): Added. 2004-06-12 Aubrey Jaffer * coerce.scm (type-of): Vector has priority over array. 2004-06-10 Aubrey Jaffer * trace.scm (debug:trace-procedure): Use 'call and 'retn instead of (string->symbol "CALL") to avoid slashification. * qp.scm (qp): Put ellipsis (...) in middle of strings, symbols. 2004-06-03 Aubrey Jaffer * slib.texi (Random Numbers): Don't change PRNG seed (URL). 2004-05-23 Aubrey Jaffer * dbutil.scm (close-database): Don't lock immutable dbs. 2004-05-19 Aubrey Jaffer * solid.scm (solid:cylinder): Negative radius for invisible side. 2004-04-20 Aubrey Jaffer * differ.scm (diff:mid-split): Removed unused M argument. 2004-04-16 Aubrey Jaffer * differ.scm: Removed equality predicate arguments. 2004-04-14 Aubrey Jaffer * differ.scm (diff2ez): Interleave insertions and deletions. (diff2editlen, diff2edits!, edits2lcs!, diff:invert-edits!): Derive lengths from array-dimensions. (diff:edit-length, diff:edits, diff:longest-common-subsequence): Moved all array creation to top-level API. 2004-04-11 Aubrey Jaffer * differ.scm (diff:negate-edits!): diff:fixup-edits Remnant. (diff:fixup-edits): Removed unnecessary procedure. (diff:longest-common-subsequence): Removed diff:order-edits call. (sort): Feature no longer required. 2004-03-20 Aubrey Jaffer * transact.scm (file-lock!): Don't call EMACS:LOCK! unless CURRENT-TIME is provided. * Makefile (S48INIT): Abstracted .init file. (IMAGE48): Renamed from IMAGE. 2004-03-20 Ivan Shmakov * s48-0_57.init (slib:warn, string-port): native functions based. (slib-primitives): Makes transact.scm work with Scheme48 0.57. 2004-03-19 Aubrey Jaffer * transact.scm (word-lock:certificate): Test file's existence before OPEN-FILE. 2004-03-07 Aubrey Jaffer * differ.scm (fp:run): Removed gratuitous variable KFPOFF. (diff:mid-split): Removed unused definitions. (diff:fixup-edits): Abstracted from DIFF:ORDER-EDITS. Procedures grouped into API and supporting procedures. 2004-03-01 Radey Shouman * pnm.scm (pnm:type-dimensions): Allow comments beginning with # and ending with newline in pnm file headers as required by libppm documentation. 2004-02-08 Aubrey Jaffer * manifest.scm (file->requires): Don't squawk if feature not in catalog. Read through non-lists at top level. * colorspc.scm (temperature->XYZ): Use blackbody-spectrum default span. 2004-02-01 Aubrey Jaffer * manifest.scm (file->requires, file->loads, file->definitions) (file->exports): Ignore first line if it begins with '#'. (feature->requires*, file->requires*): Added transitive closures. 2004-01-31 L.J. Buitinck * soundex.scm (soundex): Converted to use dotted pairs for CODES. 2004-01-31 Aubrey Jaffer * solid.scm (scene:viewpoint): Restored earlier code which works with current freewrl. (solid:bry, solid:extract-elevations, solid:extract-colors): ARRAY-DIMENSIONS replaced ARRAY-SHAPE. * grapheps.scm (write-array-def): ARRAY-DIMENSIONS replaced ARRAY-SHAPE. * charplot.scm (charplot:plot, charplot:data->lists): ARRAY-DIMENSIONS replaced ARRAY-SHAPE. * sort.scm (sorted?, sort!, rank-1-array->list, sort): ARRAY-DIMENSIONS replaced ARRAY-SHAPE. 2004-01-20 Aubrey Jaffer * bigloo.init (slib:load): Source or compiled. 2004-01-16 Aubrey Jaffer * Makefile ($(infodir)slib.info): "cp -a" ==> "cp -p". * slib.sh: grep -q is not universal. 2004-01-14 Aubrey Jaffer * slib.sh: Separated shell assignments and exports. * Makefile (srcdir.mk): Include after target. Separated shell assignments and exports. 2004-01-13 Aubrey Jaffer * DrScheme.init (slib:warn): Added newline. 2004-01-11 Aubrey Jaffer * differ.scm (diff2editlen, diff2edits): 0-based fp. (fp:compare, fp:run, fp:init! diff:divide-and-conquer) (diff2et, diff2ez): 0-based fp; added fpoff argument. * scamacr.scm (let*): Fixed syncase:andmap reference. * slib.texi (provided?): Add scheme-implementation-type footnote. * mitscheme.init (slib:error): Dispatch to special error routines. * wttree.scm (error:error, error:wrong-type-argument): (error:bad-range-argument): Changed to SLIB:ERROR. * require.scm (provided?): Answer #t to (scheme-implementation-type). 2004-01-09 L.J. Buitinck * srfi-1.scm (filter!): Updated. 2004-01-09 Ken Anderson * jscheme.init (scheme-implementation-version): 6.2. (defmacro): Made native. 2004-01-08 Aubrey Jaffer * batch.scm (*operating-system*): SOFTWARE-TYPE symbols are uppercase. 2004-01-06 Ken Anderson * jscheme.init: Added. 2004-01-04 Aubrey Jaffer * vscm.init, umbscheme.init, scsh.init, macscheme.init, guile.init, gambit.init, elk.init, chez.init, STk.init, RScheme.init, Template.scm, pscheme.init, t3.init, scheme48.init, scheme2c.init, s48-0_57.init, mitscheme.init, bigloo.init (*features*): Regularized order and content. * slib.texi (Rev4 Optional Procedures): Removed R4RS essential procedures string->list, list->string, vector->list, and list->vector. * rdms.scm (make-relational-system): Recode 3-argument -. 2004-01-04 Ivan Shmakov * transact.scm (word:lock!, word-lock:certificate): Modes are symbols. 2004-01-03 Aubrey Jaffer * sc4opt.scm (string->list, list->string, vector->list): (list->vector): Removed. These are R4RS essential procedures. * dbinterp.scm, rdms.scm : Require REV4-OPTIONAL-PROCEDURES for LIST-TAIL. * byte.scm, chap.scm, getparam.scm, strcase.scm: Require REV4-OPTIONAL-PROCEDURES for STRING-COPY. * vet.scm (r4rs-symbols): Removed optional procedures DENOMINATOR, FORCE, LIST-TAIL, NUMERATOR, RATIONALIZE, STRING-COPY, STRING-FILL!, TRANSCRIPT-OFF, TRANSCRIPT-ON, VECTOR-FILL!, WITH-INPUT-FROM-FILE, and WITH-OUTPUT-TO-FILE. 2003-12-19 Aubrey Jaffer * grapheps.scm (create-postscript-graph): Push bounds on stack at end of preamble. * grapheps.ps (wholepage): Bounds left on stack by preamble. 2003-12-16 Aubrey Jaffer * color.scm (string->color): Was spoofed by #00. 2003-12-16 L.J. Buitinck * srfi-1.scm (take!, split-at, fold, fold-right, pair-fold) (pair-fold-right, reduce, reduce-right, delete-duplicates) (alist-cons, alist-copy, alist-delete, lset<=, lset=, lset-adjoin) (lset-union, lset-intersection, lset-difference, lset-xor) (lset-diff+intersection): Added. 2003-12-14 Aubrey Jaffer * mkclrnam.scm (make-slib-color-name-db): Added nbs-iscc. * Makefile (rfiles): Added nbs-iscc. * mklibcat.scm (nbs-iscc): Added. * nbs-iscc.txt: Added. 2003-12-11 Aubrey Jaffer * charplot.scm (charplot:array->list): Handle rank-1 arrays. 2003-12-11 Ivan Shmakov * dbsyn.scm (within-database): Added define-macro syntax. (add-macro-support): Added. 2003-12-09 Aubrey Jaffer * manifest.scm (file->exports, file->definitions): Added optional arguments to allow selection for types of definitions. 2003-12-06 Aubrey Jaffer * grapheps.scm (in-graphic-context): Use gpush and gpop. * grapheps.ps (impulse, bargraph): Fixed. (triup, tridown): Removed gratuitous 2 copy. (gpush, gpop): Added for pointsize and glyphsize state. 2003-12-05 Aubrey Jaffer * dbinterp.scm (dbinterp:memoize): Speeds interpolate-from-table by factor of 2. 2003-12-02 Aubrey Jaffer * printf.scm (stdio:iprintf): `K' put dot between number and unit. * rdms.scm (delete-table): Delete table only if TABLE-EXISTS? * dbutil.scm (mdbm:try-opens, mdbm:open-type): Unlock if fail. 2003-11-30 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2d6 to 3a1. 2003-11-30 Aubrey Jaffer * mklibcat.scm (precedence-parse): defmacro because uses fluid-let. 2003-11-29 Aubrey Jaffer * grapheps.scm: Added introduction. * charplot.scm (charplot:array->list): Added missing SCM function. * grapheps.scm (set-color): Use setgray instead of slib GREY. * array.scm (make-array): Removed. * dbutil.scm (mdbm:try-opens): Try alist-table when all types in *base-table-implementations* failed. 2003-11-28 Aubrey Jaffer * grapheps.scm: Reorganized for better documentation flow. * Makefile (txiscms, txifiles): grapheps now schmoozed. * slib.texi (Graphing): Node hosts "Character Plotting" and subtree "PostScript Graphing". * grapheps.scm: Documented and fixed minor bugs. * grapheps.ps (y-axis, x-axis): Check for axis within bounds. 2003-11-27 Aubrey Jaffer * grapheps.scm (create-postscript-graph): Take document %%title from title-top and title-bottom. (grid-verticals, grid-horizontals): Split gridding. (plot): Ported charplot function. * grapheps.ps: PostScript runtime support for creating graphs. * grapheps.scm: Procedures for creating PostScript graphs. 2003-11-23 Aubrey Jaffer * array.scm (make-prototype-checker): Added prototype checks. 2003-11-18 Aubrey Jaffer * charplot.scm: Code cleanup and comments. 2003-11-17 Aubrey Jaffer * gambit.init (define-macro): Set *defmacros*; macroexpand works! 2003-11-15 Aubrey Jaffer * charplot.scm (charplot:plot-function): Changed dats array to Ar64. Changed scaling by one so last x is tried. (charplot:make-array): Reduced width by one so newline is in column 79. (charplot:plot): Output extra newline if x scale overruns it. 2003-11-10 Aubrey Jaffer * slib.texi (Feature): *features* no longer advertised. * vet.scm (provided+?): Added. Converted to predicate argument. * fluidlet.scm (fluid-let): Recoded trivial use of make-list. * gambit.init (implementation-vicinity): Use Gambc-3.0 default. (home-vicinity): Added. (print-call-stack): Added stub to satisfy 'TRACE. (defmacro): slib:eval workaround of macro restrictions. * mitscheme.init (*features*): Has FLUID-LET. * manifest.scm: Updated examples. (feature->requires, file->requires): Take predicate argument PROVIDED? instead of features-list. 2003-11-09 Aubrey Jaffer * slib.texi (The Library System): Reorganized. (Catalog Vicinities): Separated from "Library Catalogs". 2003-11-08 Aubrey Jaffer * random.scm (seed->random-state): Seed is string, not bytes. 2003-11-05 Aubrey Jaffer * arraymap.scm (array-map): Added. 2003-11-02 Aubrey Jaffer * mkclrnam.scm, dbrowse.scm, dbcom.scm, db2html.scm: Replaced type uint with ordinal. * rdms.scm, alistab.scm: Replaced types uint, base-id by ordinal. 2003-11-01 Aubrey Jaffer * rdms.scm (domains:init-data): Simplified. (slib:error): Replaces alias rdms:error. 2003-10-31 Aubrey Jaffer * slib.texi (Base Table): Reorganized subsection into 9 node tree. * rdms.scm (isam-next, isam-prev): Take optional column argument. * scheme48.init, s48-0_57.init (inexact->exact, exact->inexact): Workaround exactness bug. 2003-10-30 Aubrey Jaffer * slib.texi (Base Table): Description of wb-table and rwb-isam. * rdms.scm (isam-prev isam-next): Added. 2003-10-29 Aubrey Jaffer * slib.texi (Indexed Sequential Access Methods): Added. (Table Operations): Reorganized subsection into into 6 node tree. 2003-10-28 Aubrey Jaffer * slib.texi (Base Table): Added new MAKE-GETTER-1 method retrieving single non-key field. * rdms.scm (get, get*): Use optional make-getter-1 method. 2003-10-25 Aubrey Jaffer * dbutil.scm (define-tables): Replaced for-each row:insert with row:insert*. * slib.texi (Require): Updated examples. (Feature): Clarified about *features* per session. (Base Table): Added rwb-isam. * rdms.scm (catalog:init-cols): TABLE-NAME now symbol. (domains:init-data): ATOM is just symbol or #f. * comlist.scm (butnthcdr): Fixed short-list bug. 2003-10-24 Aubrey Jaffer * rdms.scm (coltab-name domain-name): Changed to symbol from atom. * comlist.scm (butnthcdr): SIMSYNCH FIFO8 uses negative k. * dbutil.scm (define-domains): Added. 2003-10-18 Aubrey Jaffer * comlist.scm (remove-duplicates): moved LETREC outside. (butlast): Defined in terms of BUTNTHCDR. (butnthcdr): SET-CDR! to avoid using REVERSE. * rdms.scm (combine-primary-keys): Removed primary-limit restriction. 2003-10-17 Aubrey Jaffer * byte.scm (substring-write, substring-read!): Added. * random.scm (random:chunk): Changed from using arrays to bytes. 2003-10-16 Aubrey Jaffer * byte.scm (read-bytes!): Return number of bytes read. (read-bytes): Shorten returned bytes to number of bytes read. 2003-10-13 * Makefile (efiles): bytenumb.scm was called out twice. 2003-10-12 * byte.scm (write-bytes, write-byte, make-bytes): Fixed @args. 2003-10-09 Aubrey Jaffer * bytenumb.scm (IEEE-byte-decollate!, IEEE-byte-collate!) (integer-byte-collate!): Return byte-vector. 2003-10-08 Aubrey Jaffer * bytenumb.scm (ieee-double->bytes, ieee-float->bytes): Added. (integer-byte-collate!, integer-byte-collate, IEEE-byte-collate!) (IEEE-byte-decollate!, IEEE-byte-collate, IEEE-byte-decollate): Added. 2003-10-04 Aubrey Jaffer * differ.scm (fp:compare): Use negative p-lim for no-limit. * sort.scm (sorted?, sort!, sort): Generalized to arrays. * differ.scm: Always require SORT. (diff:longest-common-subsequence, diff:edits) (diff:edit-length): Moved all but argument handling out. (diff2lcs, diff2edits, diff2editlen): Schlepable top-levels. (diff:order-edits): Coded sign reversal in DO loop. (diff:divide-and-conquer): Allocate and fp:init! fp array. (check-cost): Pulled out of diff:divide-and-conquer. (fp:init!): Added. (fp:compare): fp passed in. (diff2edits): MAXDX was off-by-one. (diff:divide-and-conquer, diff2et, diff2ez): Reuse passed fp. Initialize only used segment of fp. (diff2edits): Allocate just one CCRR and pass to procedures. (diff:order-edits): Converted vector usage to arrays. (diff2ez, diff2et, diff:divide-and-conquer): Reuse passed CCRR. (fp:init!): Take fill argument. 2003-09-30 Aubrey Jaffer * collectx.scm: Expand automatically from collect.scm. * Makefile (collectx.scm): Build target using created collect.sc. * collect.scm (object): Added (require 'object) for collectx.scm. * macwork.scm (mw:suffix-character): Replaced non-R5RS-compliant #\| with #\!. * slib.texi (Exact Random Numbers, Inexact Random Numbers): Made independent packages. * randinex.scm: Separated package random-inexact from random. (random:normal-vector!): Made *2pi internal. * random.scm (random): Now does only exact integers. * htmlform.scm (get-foreign-choices): Moved from db2html.scm in order to eliminate circular require. 2003-09-25 Aubrey Jaffer * matfile.scm (matfile:read-matrix): Version 4 MAT-file endianness cannot be detected from just the first word; ambiguous when 0. Converted to use 'byte-number functions. (matfile:read, matfile:load): Improved error handling. * slib.texi (Byte): Schmoozed. (Byte/Number Conversions): Added. * Makefile (efiles, txiscms, txifiles): Added bytenumb. * byte.scm (bytes-copy, bytes-reverse, bytes-reverse!) (read-bytes, write-bytes): Added. * bytenumb.scm: Added: Byte/integer and IEEE floating-point conversions. 2003-09-21 Ivan Shmakov * pnm.scm (pnm:array-write, pnm:type-dimensions): Fixed 'typo'. * schmooz.scm (schmooz-tops): Replaced #\tab with slib:tab. * yasyn.scm (print, size): ! replaces | in identifiers. 2003-09-21 Aubrey Jaffer * dirs.scm (transact): Eliminated require circularity. * glob.scm (call-with-tmpnam): Moved from transact.scm. String arguments taken as suffixes for tmpnams. * lineio.scm (system->line): Moved from transact.scm. (display-file): Removed. * scanf.scm (sscanf): No longer calls string-port export. (stdio:scan-and-set): Moved call-with-input-string from sscanf. 2003-09-14 Aubrey Jaffer * ncbi-dna.scm (ncbi:read-DNA-sequence): Discard to end of ORIGIN line (which can have chromosome location). 2003-09-09 Aubrey Jaffer * matfile.scm (ieee-float->bytes): Added. * sort.scm (sort, sort!, sorted?): Generalized to strings. 2003-08-31 Aubrey Jaffer * top-refs.scm: Footnote closing brace on @end line chokes texi2html. * Makefile: Moved documentation targets after txifiles definition so dependencies work correctly. 2003-08-29 Aubrey Jaffer * slib.texi (Relational Infrastructure): Collected internal details of database operations. 2003-08-26 Aubrey Jaffer * dbutil.scm (open-table, open-table!): Added. (create-database): Expanded documentation. require-if 'compiling 'alist-table. * slib.texi (Relational Database Objects, Database Operations): Deprecated in favor of section "Using Databases". 2003-08-26 dai inukai * transact.scm (emacs-lock:certificate): "ls -ld" is more portable [GNU, FreeBSD, Vine Linux, Debian Linux] than "ls -o". 2003-08-22 Aubrey Jaffer * dbrowse.scm (browse:display-dir): Keys can be other than strings or symbols. 2003-08-18 Aubrey Jaffer * dbutil.scm (create-database): Gracefully return #f when (not (assq type *base-table-implementations*)). 2003-08-17 Aubrey Jaffer * pnm.scm (pnm:read+integer): Replaced by READ. 2003-08-09 Aubrey Jaffer * slib.texi (Basic Operations on Weight-Balanced Trees): wt-tree? removed because it isn't exported. 2003-07-25 Aubrey Jaffer * scanf.scm (stdio:scan-and-set): Fixed scope of (return). * manifest.scm (feature->exports): Added; returns simple list. (feature->export-alist): Renamed from feature->exports. (feature->requires): Don't cons feature onto list. * slib.texi (Configuration): Use /usr/local/lib/scm/ in examples. * vet.scm (vet-slib): Use feature->exports. 2003-07-24 Aubrey Jaffer * mklibcat.scm (http, color, ncbi-dna): Are defmacro features. * schmooz.scm (schmooz:read-word): Replaced single use of scanf. * pnm.scm (pnm:array-write): Removed use of printf. (pnm:read+integer): Removed use of scanf. * scanf.scm (stdio:scan-and-set): Minor cleanup. * slib.texi (Module Conventions): Added macro rules. 2003-07-23 Aubrey Jaffer * Template.scm (defmacro:expand*): Don't export. * defmacex.scm (defmacro:expand*): Exported. * mklibcat.scm: Added DEFMACRO for many 'scanf users. * slib.texi (Syntax-Case Macros): Added @findex define-structure. (Spectra): Added @findex load-ciexyz. (Color Conversions): Added color:linear-transform. (Collections): Added @findex for gen-keys, gen-elts. * Makefile (bfiles): Added collectx.scm. * yasyn.scm (size, print): Replaced with macro expansions. (pormat): Coded out printf. Moved all define-syntax forms to end. * top-refs.scm (top-refs:expression): Handle WITH-SYNTAX; Don't give up on ... in let* bindings. * schmooz.scm (schmooz-top): Fixed typo in error call. * manifest.scm (feature->exports): Handle aliases. Warn, not err. * transact.scm, uri.scm: Always require 'scanf since it needs defmacro. * vet.scm (slib:catalog): Static SLIB part of *catalog*. (vet-slib): Fixed handling of aggregate entries' exports. * collectx.scm: Copy of collect.scm where DEFINE-OPERATIONs are replaced with macros-that-work expansions. * collect.scm: Cleaned up error messages and aliases. 2003-07-22 Aubrey Jaffer * slib.texi (Promises): Added delay macro. 2003-07-17 Aubrey Jaffer * manifest.scm: Shuffled functions; added examples. * slib.texi (Module Conventions): Clarified. Added example of ;@. (Require): SLIB:IN-CATALOG? renamed from SLIB:FEATURE->PATH. * require.scm (slib:in-catalog?): Renamed from slib:feature->path. Internal aliases defined from advertised functions. SRFIs number over 40; test using SLIB:EVAL. * vet.scm (vet-slib): Improved output formatting. Shuffled functions. * synclo.scm: Added ";@" export notations. 2003-07-16 Aubrey Jaffer * collect.scm: Added ";@" export notations for define-operation. * slib.texi (Coding Guidelines): Circular requires now handled. (Feature): Added mention of catalog:read. * getopt.scm (getopt:opt): Export for getparam.scm. * vet.scm (top-refs<-files, requires<-file, requires<-files) (definitions<-files, exports<-files): Added multi-file functions. * manifest.scm (load->path): Moved from top-refs.scm; exported. (file->loads): Added; finds all loads. (file->definitions): Handle define-operation. * Makefile (release): make pdf. * top-refs.scm (top-refs:expression): Handle define-syntax. (arglist:flatten): Pulled up to top-level. (top-refs:expression): Handle syntax-rules and syntax-case. (top-refs:top-level): Handle define-operation. * solid.scm (solid-color->sRGB): Inlined logical calls. (pi/180): Defined in terms of atan. * require.scm (slib:require): Provide _before_ load. * random.scm (random:chunk): Export for randinex.scm. * randinex.scm (random:uniform1): Export for random.scm. 2003-07-15 Aubrey Jaffer * top-refs.scm (top-refs:binding): Scan for all internal defines before doing top-refs:expression. * uri.scm (uri:make-path): Document and export. * slib.texi (Coding Guidelines): Expanded and updated. (Porting): Improved formating. (Installation): Added @cindex. (Module Semantics): Discuss compiling "provided?" calls. Removed @refills. * README (USING SLIB): Section replaces CODING GUIDELINES. * alist.scm, lineio.scm: Removed @refill texinfo commands. * Template.scm, vscm.init, umbscheme.init, scsh.init, pscheme.init, guile.init, STk.init, RScheme.init, t3.init, scheme48.init, scheme2c.init, s48-0_57.init, mitscheme.init, macscheme.init, gambit.init, elk.init, chez.init, bigloo.init, Template.scm (rNrs): Renamed from revN-report feature. 2003-07-15 From: Sven Hartrumpf * srfi-1.scm (%cars+cdrs, %cars+cdrs/no-test, %cdrs) (any, filter, filter!, list-copy, list-index, map!) (pair-for-each, partition, remove, remove!, span): Adapted from the reference implementation by + removing all check-arg calls + expanding all uses of 'receive' + extending 'remove' by a test to stay compatible with comlist:remove 2003-07-14 Aubrey Jaffer * glob.scm, getparam.scm: Schmoozed documentation into. * daylight.scm (pi pi/180): Define. * html4each.scm (prefix-ci?): Added. (require 'string-port). * http-cgi.scm (coerce->list): Fixed. Added missing requires. * logical.scm (logical:ones): Export. * mkclrnam.scm (load-rgb-txt): Removed lone printf. * repl.scm: Always require 'values. * slib.texi (Bit-Twiddling): Documented logical:ones (Vicinity): Documented vicinity:suffix? * tzfile.scm: Replaced ASH with quotient. * uri.scm (path->uri): Needed (require 'directory). * top-refs.scm (vet-slib): Move to "vet.scm". (exports<-info-index): Can do several sections per call. (top-refs:expression): Fixed let* with internal defines. * vet.scm (vet-slib): Given own file. * color.scm (convert-color, color->string): Fixed handling of optional whitepoint argument. * slib.texi (Trace): Added trackf, stackf, untrackf, unstackf. (Getopt): Used @code{getopt--} to get correct symbol indexed. * top-refs.scm (vet-slib): Vets definitions and documentation against each other -- way cool! * slib.texi (Spectra): Added temperature->chromaticity * manifest.scm (file->definitions): Added. * differ.scm (fp:step-check, smooth-costs): Commented out orphans. * dirs.scm (make-directory): Replaced sprintf with string-append. * slib.texi (Command Intrinsics, Table Operations) (Database Operations): Changed to @defop. Always bracket type-arguments to @def*s. 2003-07-12 Aubrey Jaffer * require.scm (slib:report-locations): Replace 'implementation with type and version symbols. 2003-07-11 Aubrey Jaffer * manifest.scm (file->exports): Added BEGIN support. * top-refs.scm: Added; list top-level variable references. * Makefile (txiscms): Added hashtab.scm, chap.scm. * slib.texi (Hash Tables, Chapter Ordering): Moved documentation to schmooz comments in source. * object.texi: Renamed from objdoc.txi; so isn't confused with schmooz-generated file. * hashtab.scm: Schmoozed documentation into. (hash-rehasher): Documented. * withfile.scm, trnscrpt.scm: Added ";@" export notations. 2003-07-10 Aubrey Jaffer * alist.scm, comparse.scm, chap.scm: Schmoozed documentation into. * slib.texi (Color Difference Metrics): Reorganized. * glob.scm: Added ";@" export notations. Removed "glob:" aliases for exports. * rdms.scm (catalog:view-proc-pos, domains:type-param-pos) (rdms:warn): Commented out unused definitions. * db2html.scm (make-defaulter): Moved near its only use. (get-foreign-choices): Moved here and documented. * Makefile (txiscms): Added ratize.scm, modular.scm, comparse.scm, alist.scm. * slib.texi (Array Mapping, Cyclic Checksum, Directories, Fast Fourier Transform, Portable Image Files, Priority Queues, Queues, Rationalize, Modular Arithmetic, Command Line, Association Lists): Moved documentation to schmooz comments in source. * schmooz.scm (schmooz-fun): Use "deffn Procedure" if procedure name ends in "!". * color.scm: Added ";@" export notations; removed collision-prone aliases. * qp.scm (qp): Removed aliases; added ";@" export notations. * arraymap.scm, queue.scm, priorque.scm, pnm.scm, dirs.scm, ratize.scm, modular.scm: Schmoozed documentation into. * slib.texi (Token definition): Added tok:bump-column. * hash.scm (hashv): Cleaned; Added ";@" export notations. * logical.scm, guile.init: "logical:" prefixes for internal use only (except logical:rotate). * slib.texi (Time Zone): Documented tz:std-offset; used in "psxtime.scm". * uri.scm (uri:path->keys): Documented; used by command:modify-table in "db2html.scm". * random.scm: Commented-out unused random:random. * htmlform.scm (html:delimited-list): Documented; used in command->p-specs example. 2003-07-09 Aubrey Jaffer * strsrch.scm, strport.scm, strcase.scm, scanf.scm, sc4opt.scm, rdms.scm, printf.scm, mbe.scm, fluidlet.scm, dynwind.scm, byte.scm: Added ";@" export notations. * comlist.scm: "comlist:" prefixes for internal use only. * srfi-1.scm (cons*, take, drop, take-right, drop-right, last, reverse!, find, find-tail): Dropped comlist: prefixes. * scmacro.scm (base:load): Unused; removed. * scainit.scm: Put SLIB:LOADs at top-level so codewalk finds them. * macwork.scm (mw:every, mw:union, mw:remove-if-not): Local copies of common-list-functions. * dbutil.scm (add-domain): Documented. 2003-07-08 Aubrey Jaffer * mklibcat.scm: Converted associations to proper lists. * require.scm (slib:require): Corrected subtle logic problems. (catalog:resolve): Accept and convert proper lists associations. * recobj.scm (field:position): Private name for CL function. * object.scm: Added export notations: ";@". * factor.scm (primes-gcd?): Inlined single use of NOTEVERY. (primes<): Renamed from prime:primes<. 2003-07-07 Aubrey Jaffer * slib.texi (Module Semantics): Added. 2003-07-06 Aubrey Jaffer * slib.texi (Catalog Creation): Added catalog:read. * mklibcat.scm: Use catalog:resolve. * require.scm (catalog:resolve, catalog:read): Added. 2003-07-05 Aubrey Jaffer * factor.scm (prime:factor, prime:primes>, prime:primes<): eliminated orphans. * tree.scm: Moved documentation from slib.texi. * srfi-2.scm (and-let*): Guarded LET* special form. * Makefile (txiscms, txifiles): Added srfi-2. 2003-07-03 Aubrey Jaffer * Makefile (*files): Reorganized to eliminate duplications. * srfi-9.scm (define-record-type): Syntax wrapper for 'record. * srfi-8.scm (receive): Added. * schmooz.scm (def->args): Fixed for syntax-rules. 2003-07-02 Aubrey Jaffer * slib.texi (Feature): Added feature-eval. (Require): Added require-if. (Database Reports): Removed. * manifest.scm: Examples added. * array.scm (make-array): Alias of create-array. * manifest.scm: List SLIB module requires and exports; useful for compiling. * Makefile (txifiles, txiscms): Added tsort. * slib.texi (Topological Sort): Moved docs to "tsort.scm". * tsort.scm: Moved documentation from slib.texi into. * require.scm (feature-eval): Abstracted from slib:provided? * cring.scm: Added export notations: ";@". 2003-07-01 Aubrey Jaffer * require.scm (slib:require-if): Added. (slib:provided?): Accepts expressions with AND, OR, and NOT. 2003-06-30 Aubrey Jaffer * Makefile (txiscms): sed script seems not to work. * slib.texi (Top): Universal SLIB Procedures (was Built-in Support) moved to Top. (Feature Require): Fixed bad craziness. (About this manual): Moved to "About SLIB". * require.scm: All "require:" prefixes changed to "slib:". (*modules*): Removed. 2003-06-29 Aubrey Jaffer * formatst.scm, fmtdoc.txi, format.scm: Removed because not reentrant. * FAQ: Added "What happened to FORMAT?" * Makefile (txiscms): Generated from txifiles. * yasyn.scm: Changed from FORMAT to PRINTF-based (pormat). * prec.scm (prec:trace): Removed. * solid.scm, solid.scm, timezone.scm, uri.scm, admin.scm, alistab.scm, batch.scm, colorspc.scm, db2html.scm, dbutil.scm, differ.scm, getparam.scm, html4each.scm, obj2str.scm, printf.scm, psxtime.scm, repl.scm, transact.scm, format.scm, matfile.scm, ncbi-dna.scm: Added conditional top-level REQUIRE for each dynamic REQUIRE. 2003-06-28 Aubrey Jaffer * Makefile (MKNMDB): mkclrnam.scm split from colornam.scm. * colornam.scm (load-rgb-txt): Database creation moved to mkclrnam.scm. * mkclrnam.scm (load-rgb-txt): Database creation moved from colornam.scm. * priorque.scm (heap:test): Removed. * crc.scm (cksum-string): Moved to example in "slib.texi" (Cyclic Checksum). 2003-06-27 Felix Winkelmann * minimize.scm (golden-section-search): eqv? --> =. * mklibcat.scm (scanf): Is defmacro package. 2003-06-20 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2d5 to 2d6. * array.scm (make-array): Removed legacy procedures. 2003-06-18 Aubrey Jaffer * differ.scm (diff:order-edits): Interleave inserts and deletes when adjacent. 2003-06-16 Aubrey Jaffer * differ.scm (diff2ebc diff2ebr): Removed; 3% not worth it. * logical.scm (gray-code->integer): * pnm.scm (pnm:array-write): * slib.texi (Yasos examples, Commutative Rings): * subarray.scm (array-trim): error -> slib:error. * charplot.scm (histobins): Gracefully return when no data. 2003-06-11 Aubrey Jaffer * differ.scm (diff:mid-split): Replaces diff:best-split. (diff2ebr): Fixed RR polarity; now works with diff:mid-split. 2003-06-07 Aubrey Jaffer * differ.scm (diff:longest-common-subsequence): Call DIFF:ORDER-EDITS only when there are edits. (diff:divide-and-conquer): Inlined diff->costs; allocate CC and RR out of the same array. 2003-06-05 Aubrey Jaffer * differ.scm (diff2ebc, diff2el): Inlined insert and delete. (diff:order-edits): take sign argument. (diff:edits, diff:longest-common-subsequence): Handle argument order. (diff2ebc, diff2ebr): Handle insertions and deletes; not matches. 2003-06-04 Aubrey Jaffer * differ.scm (diff2el): Simplified by half. (diff:order-edits): Returns; edits were almost right order. (diff->costs): smooth-costs not needed. (diff2ebc, diff2ebr): Moved conditional swap to diff2et. (diff:order-edits): Figure LEN-A and LEN-B from EDITS. (diff:best-split): Simplified using passed expected COST. 2003-06-02 Aubrey Jaffer * differ.scm (diff2el): Removed never-used LEN-B = 0 case. (diff:divide-and-conquer): Pass cost to diff2ebr, diff2ebc. (diff2ebc): Fixed insert order; P-LIM when B gets shorter than A. (diff:order-edits): Removed -- edits are now generated in order. (diff2edits): Check returned cost. (diff2el): Handle LEN-A = P-LIM case. 2003-06-01 Aubrey Jaffer * differ.scm Reordered procedures and changed some argument names to match paper. (diff2e*): INSERT and DELETE replaced with EDITS, EDX, and EPO. 2003-05-28 Aubrey Jaffer * differ.scm (edits2lcs): Pass in editlen in pursuit of schlepability. 2003-05-26 Aubrey Jaffer * soundex.scm (SOUNDEX): Character lookups use ASSV and MEMV. * strsrch.scm (substring?, substring-ci?): Bum simple cases. (subskip): Split out common code from substring?, substring-ci?. (subloop): Old non-table-driven code for short substring?s. (substring?, substring-ci?): Compared measurements of subskip vs subloop; set breakpoint at STRLEN < CHAR-CODE-LIMIT/2 + 2*PATLEN. (substring-ci?, substring?): Refined; subloop for PATLEN <= 4. 2003-05-25 Steve VanDevender * strsrch.scm (substring?, substring-ci?): Rewrote, improving performance and fixing (substring-ci? "a" "An apple") ==> 3 bug. 2003-05-24 Aubrey Jaffer * differ.scm (diff:order-edits): Added; returns correct order. 2003-05-23 Aubrey Jaffer * differ.scm (edits2lcs): Removed editlen argument. * ncbi-dna.scm: Read and manipulate NCBI-format nucleotide sequences. 2003-05-12 Aubrey Jaffer * differ.scm (diff2el): Handle all (zero? p-lim) cases. 2003-05-06 Aubrey Jaffer * differ.scm: Reorganized diff2* functions. Leading and trailing runs of matches now trimmed from all edits-producing comparisons. (smooth-costs): Correct cost jumps left by fp:compare [which visits only a few (x,y)]. (diff->costs): Check that each adjacent CC pair differs by +/-1. (diff:divide-and-conquer): Disable SHAVE pending bug resolution. (diff2ebr, diff2ebc): Split diff2eb; end-run optimization only works for half inheriting middle insertions. (diff:divide-and-conquer): Moved fp:check-cost into. 2003-05-03 Aubrey Jaffer * differ.scm (diff:shave): Removed cdx+1; now cdx. Keep track of endb in insert loop. 2003-05-01 Aubrey Jaffer * differ.scm (diff:shave): Also trim matches with decreasing CC from ends; nets 27% speed. 2003-04-27 Aubrey Jaffer * guile.init (port?): Had argument name mismatch. 2003-04-06 Aubrey Jaffer * db2html.scm (command:make-editable-table, command:modify-table): Improved null-keys treatment to work with multiple primaries. 2003-04-05 Aubrey Jaffer * qp.scm (qp:qp): Distinguish #f and 0 values for *qp-width*. 2003-03-30 Aubrey Jaffer * differ.scm (diff:divide-and-conquer): Trim based on CC alone. (diff:best-split): Extracted from diff:divide-and-conquer. (diff:shave): Abstracted from diff:divide-and-conquer. 2003-03-29 Aubrey Jaffer * differ.scm (fp:compare): Use smaller fp if p-lim supplied. 2003-03-27 Aubrey Jaffer * differ.scm (diff:divide-and-conquer): Find longest optimal run. (diff2edits): Initialize edits array to prevent type error. (diff:divide-and-conquer): Split nearest to midpoint within longest run. (diff:divide-and-conquer): Split into 3 parts if consecutive inserts are discovered in bestrun. (diff:divide-and-conquer): No need to check both CC and RR for linearity; tcst being constant guarantees it. 2003-03-25 Aubrey Jaffer * solid.scm (scene:viewpoint): Simplified; fixed pitch. (solid:extract-colors): Fixed color/elevations alignment. (solid:extract-colors, solid:extract-elevations): Fixed row-major. 2003-03-24 Aubrey Jaffer * solid.scm (solid:basrelief): Added VRML ElevationGrid. (solid:bry): Added "solid FALSE" and missing alternative clause. 2003-03-23 Aubrey Jaffer * html4each.scm (html-for-each): Rewrote for full quote hair. Removed require string-search; uses own multi-char version. 2003-03-16 Aubrey Jaffer * html4each.scm (html-for-each): "unterminated HTML entity" warning infinitely looped; changed to error. (htm-fields): Recover from HTML errors. 2003-03-15 Aubrey Jaffer * uri.scm (uri->tree, make-uri): Fixed confusion of #f and "". * db2html.scm (command:make-editable-table): foreign-choice-lists now opens the table. 2003-03-07 Aubrey Jaffer * slib.texi: Fixed database examples. * dbutil.scm (solidify-database): Fixed lock handling. 2003-03-02 Aubrey Jaffer * fft.scm (fft:shuffle&scale): Use bit-reverse from 'logical. * arraymap.scm (array-for-each): Use set-car! instead of reverse. 2003-02-17 Aubrey Jaffer * slib.texi (Getopt): Fixed double dashes. * transact.scm (transact-file-replacement): Accept (string) path to backup file in place of backup-style symbol. 2003-01-27 Aubrey Jaffer * phil-spc.scm (hilbert-coordinates->integer): Converted to tail-recursive internal define. * slib.texi (Peano-Hilbert Space-Filling Curve): Renamed from "Hilbert Space-Filling Curve". * phil-spc.scm: Renamed from "fhilbert.scm". 2003-01-25 Aubrey Jaffer * fhilbert.scm (integer->hilbert-coordinates): Made index processing symmetrical with hilbert-coordinates->integer. 2003-01-13 Aubrey Jaffer * bigloo.init (scheme-implementation-version): *bigloo-version* (implementation-vicinity): *default-lib-dir*/. (library-vicinity): Check couple of places using DIRECTORY?. 2003-01-11 Aubrey Jaffer * slib.texi (Plotting): Updated examples. 2003-01-06 Aubrey Jaffer * fhilbert.scm (hilbert-coordinates->integer) (integer->hilbert-coordinates): Reference rank now 0 (was 2). 2003-01-05 Aubrey Jaffer * fhilbert.scm (hilbert-coordinates->integer): Fixed nBits. (integer->hilbert-coordinates): Simplified. * DrScheme.init (defmacro): Restore for mzscheme-202. 2003-01-05 Ivan Shmakov * queue.scm (dequeue-all!): Added. 2003-01-05 L.J. Buitinck * comlist.scm (comlist:subset?): Added. 2003-01-04 Aubrey Jaffer * fhilbert.scm: Added Hilbert Space-Filling Functions. * logical.scm (logical:logcount, logical:integer-length): Made tail-recursive. (logical:logxor, logical:logior, logical:logand): Made tail-recursive. 2002-12-29 Aubrey Jaffer * logical.scm (logical:ones): Return 0 for 0 argument. (gray-code->integer): Improved running time from O(b^2) to O(b*log(b)). 2002-12-26 Aubrey Jaffer * batch.scm (*operating-system*): gnu-win32 renamed from cygwin32. * slib.texi (String Search): State search order for string-subst. 2002-12-25 Aubrey Jaffer * html4each.scm (htm-fields): Parses markup string. (html-for-each): Handle comments as markups. * strsrch.scm (count-newlines): Added. * comlist.scm (comlist:list*): Make letrec top-level. 2002-12-25 L.J. Buitinck * comlist.scm (comlist:union): Make letrec top-level. 2002-12-17 Aubrey Jaffer * solid.scm (scene:viewpoints): Restored Up and Down views. * slib.texi (Rule Types): Split from Precedence Parsing Overview. (Precedence Parsing Overview): Describe binding power concept. 2002-12-11 Aubrey Jaffer * batch.scm (*operating-system*): Detect MINGW32 (gcc on MS-DOS) as CYGWIN. 2002-12-09 W. Garrett Mitchener * Makefile (catalogs): Make mzscheme new-catalog -g (case-sensitive) so *SLIB-VERSION* symbol upper-cased. 2002-12-08 L.J. Buitinck * slib.texi (Destructive list operations): Fixed SOME example. MAP instead of MAPCAR in nconc example. 2002-12-06 Aubrey Jaffer * random.scm (random): Streamlined. (seed->random-state, random:chunk): Replaced BYTE with ARRAY. 2002-12-05 Aubrey Jaffer * random.scm (random): Don't get extra chunk when modu is integer multiple of 256. 2002-12-02 Aubrey Jaffer * html4each.scm (html:read-title): Added optional LIMIT (word-count) argument. * slib.texi (Getopt, Getopt Parameter lists): * getparam.scm (getopt->arglist, getopt->parameter-list): * getopt.scm (getopt, getopt--): Global variable *argv* replaces argc, argv arguments. Not the best solution -- but at least its consistent. * slib.texi (Lists as sets): Updated UNION examples. * comlist.scm (comlist:union): Optimized for list lengths. 2002-12-01 Aubrey Jaffer * html4each.scm (html:read-title): Added. (html-for-each): Accept input-port for FILE argument. (html:read-title): Added check for first char being '<'. * uri.scm (absolute-uri?): Added. 2002-11-30 Aubrey Jaffer * uri.scm (uri->tree): Corrected documentation. * dbutil.scm (mdbm:report): Show lock certificates. (create-database, write-database, syncify-database, close-database): Lock database file for writing. (create-database): Allow initial #f filename. * slib.texi (Copyrights): Fixed TeX formatting. 2002-11-29 Aubrey Jaffer * DrScheme.init: Added (provide 'fluid-let). (call-with-input-string): Corrects bug in /usr/local/lib/plt/collects/slibinit/init.ss. 2002-11-26 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2d4 to 2d5. 2002-11-26 dai inukai * srfi-1.scm (drop-right, take-right): Were swapped. 2002-11-26 Aubrey Jaffer * DrScheme.init: Ported for VERSIONs >= "200". * Template.scm, vscm.init, umbscheme.init, t3.init, STk.init, scsh.init, scheme2c.init, s48-0_57.init, RScheme.init, macscheme.init, gambit.init, elk.init, chez.init, bigloo.init (slib:warn): Put spaces between arguments. * slib.texi (Database Macros): Section added. * dbcom.scm (define-*commands*): Added; supports define-command. 2002-11-26 Ivan Shmakov * scheme48.init (slib:warn): Match S48-ERROR format. * dbsyn.scm (within-database, define-table, define-command): Added new file. 2002-11-22 Aubrey Jaffer * slib.texi (Portable Image Files): Added cindexes. * pnm.scm (pnm:read-bit-vector!): Fixed for odd width pbms. (pnm:image-file->array): Takes optional comment string arguments. 2002-11-21 Aubrey Jaffer * Makefile (docfiles, efiles): nclients.* renamed transact.*. * transact.scm: Renamed from nclients.scm. * nclients.scm (emacs:backup-name): Added. (transact-file-replacement): Now does backup files. 2002-11-20 Aubrey Jaffer * guile.init (define-module, eval): Condition on version. * slib.texi (Transactions): Replaces net-clients section. * vscm.init, umbscheme.init, Template.scm, t3.init, STk.init, scsh.init, scheme48.init, scheme2c.init, s48-0_57.init, RScheme.init, pscheme.init, macscheme.init, gambit.init, elk.init, DrScheme.init, chez.init, bigloo.init (browse-url): Added. * nclients.scm (user-email-address): Split into pieces. (transact-file-replacement): Replaces call-with-replacement-file. 2002-11-17 Aubrey Jaffer * uri.scm (path->uri, absolute-path?, null-directory?) (glob-pattern?, parse-ftp-address): Moved from nclients.scm. * dirs.scm (current-directory, make-directory): Moved from nclients.scm. 2002-11-15 Aubrey Jaffer * dirs.scm: Added. 2002-11-11 Aubrey Jaffer * slib.texi (Space-Filling Curves): Section added. (Bit-Twiddling): Added logical:rotate. * logical.scm (logical:rotate): Added. (logical:ones): Added so correct with limited-precision integers. 2002-11-03 Aubrey Jaffer * nclients.scm (file-lock-owner): Also check emacs-lock. (word-lock:certificate): Name3 missing also triggered length error. * db2html.scm (crc:hash-obj): Added. * slib.texi (Cyclic Checksum): Rewritten. * Makefile (slib$(VERSION).info): Ignore makeinfo-4.1 bailing on colons in names. * crc.scm: Replaces makcrc.scm. 2002-10-27 Aubrey Jaffer * solid.scm (scene:viewpoint): Corrected translation/rotation order. 2002-10-14 Aubrey Jaffer * DrScheme.init: Corrected mis-attribution 2002-10-09 Aubrey Jaffer * pnm.scm (pnm:read-bit-vector!): Read pbm-raw correctly. 2002-09-24 Aubrey Jaffer * pnm.scm (pnm:image-file->array): Correctly handle array type when max-pixval > 256. 2002-08-17 Aubrey Jaffer * dbcom.scm (make-command-server): Handle lacking domain-checkers. 2002-08-14 Aubrey Jaffer * makcrc.scm (make-port-crc): Default based on number-size of implementation. 2002-07-22 Aubrey Jaffer * differ.scm (diff:divide-and-conquer): Limit p-lim of sub-diffs to those computed at mid-a, mid-b. 2002-07-19 Aubrey Jaffer * differ.scm (diff:divide-and-conquer): Rewrote edit-sequence and longest common subsequence generation. 2002-06-28 Aubrey Jaffer * array.scm (create-array): Fixed scales calculation. 2002-06-23 Aubrey Jaffer * modular.scm (modular:normalize): Test (provided? 'bignum) once. 2002-06-18 Aubrey Jaffer * differ.scm (fp->lcs): Use argument array type for returned array. 2002-06-17 Aubrey Jaffer * slib.texi (Parsing HTML): Added. 2002-06-09 Aubrey Jaffer * html4each.scm: HTML scan calls procedures for word, tag, whitespac, and newline. 2002-05-31 Aubrey Jaffer * nclients.scm (file=?): Added. 2002-05-30 Aubrey Jaffer * chez.init (*features*): random is not. 2002-05-28 Aubrey Jaffer * slib.texi (net-clients): Updated. * nclients.scm (file-lock-owner, file-lock!, file-unlock!, system->line): Added. 2002-05-27 Aubrey Jaffer * nclients.scm (call-with-replacement-file): Added emacs-aware procedure to read-modify-write file. * slib.texi (Vicinity): Clarified make-vicinity. 2002-05-18 Aubrey Jaffer * slib.texi (Command Example): Corrected. * cvs.scm (cvs-repository): Added. (cvs-set-root!, cvs-vet): Rewritten to handle absolute paths in CVS/Repository files. 2002-05-16 Aubrey Jaffer * cvs.scm (cvs:vet): Added CVS structure checker. 2002-05-09 Aubrey Jaffer * differ.scm (diff:edits): Return array of signed integers. Broke functions into schlepable chunks; reorganized functions. 2002-05-08 Aubrey Jaffer * differ.scm (diff:make-differ): Abstracted operations. 2002-05-06 Aubrey Jaffer * differ.scm (fp->edits): Was forgetting some first deletes. * differ.scm (fp->edits): Fixed off-by-one; last delete was lost. (diff:edit-length): Array fp was uninitialized. 2002-05-02 Aubrey Jaffer * cvs.scm (cvs-directories, cvs-root, cvs-set-root!): Added. * require.scm (pathname->vicinity): Removed "Go up one level if PATHNAME ends in a vicinity suffix" behavior. 2002-04-28 Aubrey Jaffer * htmlform.scm (html:head): Use second argument (backlink) verbatim if it contains

. 2002-04-26 Aubrey Jaffer * require.scm (pathname->vicinity): Added. * slib.texi (Vicinity): Added pathname->vicinity. 2002-04-24 Aubrey Jaffer * db2html.scm (db->html-files): Fixed for #f argument DIR. 2002-04-21 Aubrey Jaffer * mitscheme.init (sort!): Accepts only vectors; set it to SORT. 2002-04-18 Aubrey Jaffer * http-cgi.scm (make-query-alist-command-server): Don't assume query-alist is non-false. 2002-04-18 Chris Hanson * mitscheme.init (char-code-limit, defmacro, *features*): Corrected. 2002-04-17 Aubrey Jaffer * require.scm (software-type): Removed vestigal conversion from msdos -> ms-dos. 2002-04-17 Chris Hanson * mitscheme.init: Updated for versions 7.5 .. 7.7. 2002-04-14 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2d3 to 2d4. * slib.texi (CVS): Added. * batch.scm (*operating-system*): Renamed from *current-platform*. 2002-04-11 Aubrey Jaffer * batch.scm (batch:operating-system): Added. (batch:write-header-comment): Take parms argument. (batch:call-with-output-script): Corrected platform. 2002-04-07 Aubrey Jaffer * Makefile (efiles): Added cvs.scm. * mklibcat.scm (cvs): Added for cvs.scm. * htmlform.scm (html:select, form:delimited): Added newlines. * batch.scm (batch:platform): Handles cygwin unames. (batch:call-with-output-script): /bin/rc is PLAN9 shell. * cvs.scm: Functions to enumerate files under CVS control. 2002-04-03 Aubrey Jaffer * batch.scm (operating-system): Added plan9. 2002-03-31 Aubrey Jaffer * colorspc.scm (spectrum->chromaticity, temperature->chromaticity): Added. 2002-03-30 Aubrey Jaffer * require.scm (sub-vicinity): Support for PLAN9. * nclients.scm (user-email-address, current-directory): PLAN9. 2002-03-29 Aubrey Jaffer * slib.texi (Color Names, The Short List): Saturate replaces hollasch. * mklibcat.scm: Saturate color dictionary replaces hollasch. * colornam.scm (load-rgb-txt): parses saturate dictionary. (make-slib-color-name-db): Saturate dictionary replaces hollasch. * saturate.txt: Saturated colors from "Approximate Colors on CIE Chromaticity Diagram" * resenecolours.txt: "dictionary", not "software". 2002-03-20 Aubrey Jaffer * comlist.scm (comlist:list-of??): Replaced calls to EVERY with calls to COMLIST:EVERY. * slib.texi (Spectra): Added new functions and constants. * colorspc.scm (CIEXYZ:A, CIEXYZ:B, CIEXYZ:C, CIEXYZ:E): Added. (CIEXYZ:D65): Derive from e-sRGB so (color->e-srgb 16 d65) works. (chromaticity->whitepoint): Added. (chromaticity->CIEXYZ): Normalize to 1=x+y+z. (wavelength->chromaticity, wavelength->CIEXYZ): Added. 2002-03-16 Aubrey Jaffer * Makefile (docfiles): Added recent schmooz-generated files. 2002-03-11 Aubrey Jaffer * slib.texi (Color Names): Added resenecolours.txt license. * Makefile (catalogs): Added scripts for 5 implementations. (clrnamdb.scm): Tries up to 5 implementations. * mklibcat.scm (catpath): Delete slibcat if exists. * slib.spec (%post): Improved catalog-building scripts. Make clrnamdb.scm. * Makefile (gfiles): Added resenecolours.txt. (clrnamdb.scm): Depends on colornam.scm. * colornam.scm (load-rgb-txt): Added m4c to read resenecolours.txt without "Resene " prefix. * resenecolours.txt: Removed "Resene " prefix. 2002-03-11 Karen Warman * resenecolours.txt: (Citrine White): Supplied missing value. (Copyright): Accepted license change to allow modifications. 2002-03-01 Aubrey Jaffer * db2html.scm (command:make-editable-table): require database-commands. * colornam.scm (load-rgb-txt): Made method names be symbols. 2002-02-26 Aubrey Jaffer * slib.texi (Lists as sets): Corrected description of MEMBER-IF. Improved example. 2002-02-23 Bill Wood * format.scm (Iteration Directive): Modified iteration directive code to respect configuration variables format:iteration-bounded and format:max-iterations. (Configuration Variables): Added format:iteration-bounded, default #t, and format:max-iterations, default 100. * fmtdoc.txi: Added documentation of changes and additions. 2002-02-20 Aubrey Jaffer * slib.texi (Color): Added tags for Color nodes. * guile.init (expt): Fixed (expt 2 -1). (port?, call-with-open-ports): Added. 2002-02-18 Aubrey Jaffer * slib.texi (Motivations): Removed to DBManifesto.html. * bigloo.init, chez.init, elk.init, mitscheme.init, RScheme.init, scheme2c.init, scheme48.init, scsh.init, STk.init, Template.scm, vscm.init (home-vicinity): ELSE clause was missing. * guile.init (home-vicinity): Case-sensitive case was hosing. 2002-02-14 Aubrey Jaffer * scheme48.init: (asin) is totally busted in Scheme-48-0.45. * colorspc.scm (pi): Added. (multiarg/and-): Required. Scheme-48-0.45 chokes on 1e1. * daylight.scm: Scheme-48-0.45 chokes on 1e1. Quoted vectors. * solid.scm: Scheme-48-0.45 chokes on 1e1. * slib.texi (multiarg/and-): Fixed typo. 2002-02-11 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2d2 to 2d3. * batch.scm (batch:write-header-comment): Include batch:platform in message. 2002-01-31 Aubrey Jaffer * guile.init (create-array, Ac64, Ac32, Ar64, Ar32, As64, As32, As16, As8, Au64, Au32, Au16, Au8, At1): Added new SLIB arrays. * charplot.scm, differ.scm, pnm.scm, fft.scm: Changed to use create-array. * arraymap.scm (array-indexes): * matfile.scm (matfile:read-matrix): Changed to use create-array. * array.scm: (Ac64, Ac32, Ar64, Ar32, As64, As32, As16, As8, Au64, Au32, Au16, Au8, At1): Added prototype makers. * pnm.scm (pnm:image-file->uniform-array): Removed. (pnm:array-write): Changed away from using *-uniform-*. 2002-01-28 Aubrey Jaffer * array.scm (create-array): 1-element fill only. 2002-01-26 Aubrey Jaffer * subarray.scm (subarray0, array-align): Added. * slib.texi (Input/Output): Added call-with-open-ports, port? (Installation): How to make color-name database. (Byte): Added note about opening binary files. * matfile.scm (matfile:read): * tzfile.scm (tzfile:read): * pnm.scm (pnm:type-dimensions, pnm:image-file->array): (pnm:array-write): Converted to use CALL-WITH-OPEN-PORTS and OPEN-FILE for binary files. * *.init, Template.scm (call-with-open-ports, port?): Added. * slib.texi (Color Names): Added Resene and Hollasch dictionaries. * Makefile (clrnamdb.scm): Make using most portable method; "<". * mklibcat.scm (hollasch, resene): Added color-name-dictionary features. * require.scm (require:require): Use feature name for color-dictionary define. * colornam.scm (make-slib-color-name-db): Added. * dbutil.scm (open-database!): OK if database is already open for writing. 2002-01-25 Aubrey Jaffer * slib.texi (Input/Output): Open-file MODES argument now symbol. * Template.scm, *.init (open-file): Modes argument now symbol. 2002-01-23 Radey Shouman * subarray.scm (subarray): Trailing indices can now be elided, as in the rautil.scm version. 2002-01-22 Aubrey Jaffer * slib.texi (Input/Output): Changed procedures returning values to @defun. * mklibcat.scm (display*): Added to reduce code size. * dbutil.scm (make-exchanger): Removed; now in *.init files. * slib.texi (Miscellany): Renamed from Legacy. Added make-exchanger, open-file, and close-port. * guile.init (make-exchanger): Added. * STk.init, vscm.init, umbscheme.init, t3.init, scsh.init, scheme48.init, scheme2c.init, s48-0_57.init, pscheme.init, mitscheme.init, macscheme.init, gambit.init, elk.init, chez.init, bigloo.init, Template.scm, RScheme.init, DrScheme.init (make-exchanger, open-file, close-port): Added. 2002-01-21 Aubrey Jaffer * solid.scm (direction->vrml-field): Corrected angle errors due to having only one buggy viewer. (scene:sun): FreeWRL-0.30 sun disappears even closer than lookat. 2002-01-19 Aubrey Jaffer * slib.texi (Relational Database): Reorganized. Feature `database-utilities' renamed `databases'. * dbutil.scm (close-database, write-database, open-database, open-database!, create-database): Changed errors to warnings. Added (schmooz) documentation. * slib.texi (Base Table): Added introduction. Listed alist-table and wb-table features. (Database Utilities): Moved documentation to "dbutil.scm". * dbutil.scm (mdbm:report): Added. (open-database!, open-database, write-database, sync-database, solidify-database, close-database): will accept database or filename. Rewrote using dynamic-wind to protect mdbm:*databases*. * rdms.scm (close-database): Fixed return value. (write-database, sync-database): Made conditional on MUTABLE. (solidify-database): Added method to change mutable to unmutable. 2002-01-18 Radey Shouman * pnm.scm: Fixed pbm read for the case when 0 and 1 characters are not separated by whitespace (Ghostscript does this). 2002-01-17 Aubrey Jaffer * slib.texi (Database Utilities): Updated dbutil changes. * dbutil.scm (close-database, sync-database, write-database): Added. (create-database, open-database!, open-database): Rewritten to support database sharing. 2002-01-13 Aubrey Jaffer * rdms.scm (filename): Added database method for retrieving. * scsh.init, chez.init, bigloo.init, scheme2c.init (scheme-implementation-home-page): Updated. 2002-01-10 Aubrey Jaffer * Makefile (clrnamdb.scm): Added target to build resene color-dictionary. * require.scm (require:require): Added color-names loader. * colornam.scm (load-dictionary, make-slib-color-db): Added. 2002-01-08 Aubrey Jaffer * determ.scm (matrix:inverse, matrix:product, transpose, matrix->array, matrix->lists): Added. * slib.texi (Matrix Algebra): Renamed from Determinant. Schmooz documentation from determ.scm. * array.scm (create-array): Default to vector for non-array prototypes. 2002-01-07 Aubrey Jaffer * colornam.scm (load-rgb-txt): Allows multiple names per color. Added support for multi-lingual "color_names.txt". 2002-01-06 Aubrey Jaffer * colorspc.scm (e-sRGB-log, e-sRGB-exp): Abstracted and corrected. (CIEXYZ:D65, CIEXYZ:D50): Compute from CIE chromaticities. (e-sRGB:from-matrix): http://www.pima.net/standards/it10/PIMA7667/PIMA7667-2001.PDF gives matrix identical to sRGB:from-matrix, but colors drift under repeated conversions to and from CIEXYZ. Instead use computed inverse of e-sRGB:into-matrix. 2002-01-05 Aubrey Jaffer * colorspc.scm (CIE:Y/Yn->L*, CIE:L*->Y/Yn): Abstracted CIE luminance <-> lightness conversions. (ab-log, ab-exp): Abstracted a*, b* nonlinearities. (L*u*v*->CIEXYZ): Simplified. * slib.texi (Spectra): Features cie1964, cie1931, and ciexyz. * colorspc.scm (spectrum->XYZ, wavelength->XYZ): Require 'ciexyz. * mklibcat.scm (cie1964, cie1931, spectral-tristimulus-values): Added. * require.scm (require:require): Added spectral-tristimulus-values loader. * cie1964.xyz: Added. 2002-01-03 Aubrey Jaffer * slib.texi (MAT-File Format): Added node. * matfile.scm (matfile:read-matrix): Dispatch per binary format; only IEEE currently. Added schmooz documentation. 2002-01-01 Aubrey Jaffer * subarray.scm (subarray, array-trim): Added easier ways to make subarrays. * array.scm (array=?): Fixed example. * charplot.scm (charplot:data->lists): Fixed for 1-dimensional array. * matfile.scm (bytes->double): Corrected mantissa scale. 2001-12-21 Aubrey Jaffer * matfile.scm: Added; reads MAT-File Format version 4 (MATLAB). 2001-12-13 Aubrey Jaffer * scainit.scm (syncase:sanity-check): Had too many ".scm" suffi. 2001-12-12 Aubrey Jaffer * solid.scm (scene:sphere): Major rewrite. Now works, I think. * daylight.scm (sunlight-spectrum): Added and debugged calculation from http://www.cs.utah.edu/vissim/papers/sunsky/sunsky.pdf. * colorspc.scm (xyY:normalize-colors): Added optional argument to control luminence scaling. 2001-12-11 Ivan Shmakov * s48-0_57.init (system): Removed code that set! system to #f. 2001-12-09 Aubrey Jaffer * solid.scm (light:ambient, light:directional, light:dispersion, light:point, light:spot): Added light sources. * slib.texi (Plotting): Updated documentation. 2001-12-08 Aubrey Jaffer * charplot.scm: Major cleanup; raster conversion replaced by array of chars; y coordinate lists rendered with distinct characters. (coordinate-extrema): Added; computes extrema for lists of coordinates of any rank. (histograph): Added. 2001-12-05 Aubrey Jaffer * Makefile ($(dvidir)slib.dvi): Depend on Schmoozed files. 2001-12-04 Aubrey Jaffer * charplot.scm (charplot:plot!): Accept lists for second coordinates; plot all against first coordinates. * colornam.scm (file->color-dictionary): Added format for data from Resene spreadsheetd. * colorspc.scm (xyY:normalize-colors): Added. * daylight.scm: Added mathematical model of sky colors. 2001-12-01 Aubrey Jaffer * logical.scm (logical:integer-expt): Merged logical:ipow-by-squaring into. * modular.scm (mod, rem): Added Common-Lisp functions. (modular:r, modular:expt): Removed dependence on logical package. 2001-11-29 Aubrey Jaffer * solid.scm (solid:pyramid): Added. 2001-11-28 Aubrey Jaffer * solid.scm (scene:panorama, scene:sphere): Added backgrounds. (solid:cylinder, solid:disk, solid:cone): Added. (solid:arrow): Rewritten in terms of solid primitives. 2001-11-25 Aubrey Jaffer * solid.scm (solid:texture): Added. (vrml-append): Added; puts newlines between strings. * colorspc.scm (chromaticity->CIEXYZ, spectrum->CIEXYZ, temperature->CIEXYZ): Added; useful for making whitepoints. 2001-11-24 Aubrey Jaffer * slib.texi (Database Utilities): Added description of *base-table-implementations*. * colornam.scm (load-rgb-txt): Added many data formats. Internal function parse-rgb-line clobbers itself with method the first time a method works. * colorspc.scm (spectrum->xyz): Now accepts vector (or list) and bounds. Now compensates for number of samples. (blackbody-spectrum): Made public. Takes optional SPAN argument. (XYZ->xyY, xyY->XYZ): Corrected; it really is just Y. (CIE:L*): Y->L* conversion abstracted into function. 2001-11-23 Aubrey Jaffer * charplot.scm (charplot:iplot!): Fixed 9-year old fencepost bug. (charplot:iplot!): Coordinates standardized to lists, rather than pairs. PLOT will accept either. (plot): Dispatches to plot! or plot-function!. (plot-function): Added alias for plot. 2001-11-17 Aubrey Jaffer * colornam.scm (load-rgb-txt): Added "order" index field. * scsh.init, scheme48.init, scheme2c.init, mitscheme.init, guile.init, elk.init, chez.init, bigloo.init, Template.scm, STk.init, s48-0_57.init (home-vicinity): Now assures trailing "/". * colornam.scm (grey): Added X11 numbered greys. 2001-11-17 Ivan Shmakov * scsh.init, scheme48.init, scheme2c.init, mitscheme.init, guile.init, elk.init, chez.init, bigloo.init, Template.scm, STk.init, s48-0_57.init (home-vicinity): (getenv "HOME") Was evaluated at compile time, thus returning the installer's home directory! Instead, call when HOME-VICINITY is called. * dbcom.scm (add-command-tables): The argument of set-car! function must be mutable, but (quote xxx) isn't in Scheme48. 2001-11-16 Aubrey Jaffer * colornam.scm: Rewritten. * slib.texi (Color Names): Moved to end of color section. * alistab.scm (open-base): Check that first line starts with ";;". 2001-11-15 Aubrey Jaffer * colornam.scm: Added. * slib.texi (Database Utilities): Reorganized. (Color Names): Added. * alistab.scm: Put *SLIB-VERSION* in header. Set *base-table-implementations*. * dbcom.scm: Split rdb command extensions from dbutil.scm. (wrap-command-interface, add-command-tables): Added * require.scm (*base-table-implementations*): Added. * dbutil.scm (open-database!, open-database): Use *base-table-implementations* to dispatch on db-file type. 2001-11-11 Aubrey Jaffer * slib.texi (Bit-Twiddling): Added "Bit order and Lamination". (Bit-Twiddling): Added "Gray code". * logical.scm (bit-reverse integer->list list->integer booleans->integer bitwise:laminate bitwise:delaminate): Added bit order and lamination functions. (integer->gray-code gray-code->integer gray-code? gray-code>=?): Added Gray code functions. 2001-11-07 Aubrey Jaffer * colorspc.scm (xRGB): Renamed from sRGBi. * color.scm (CIEXYZ->color, RGB709->color, L*a*b*->color, L*u*v*->color, L*C*h->color, sRGB->color, xRGB->color, e-sRGB->color): Added. * slib.texi: Fixed comparison function documentation. 2001-11-04 Aubrey Jaffer * color.scm (color->string, string->color): Added. (color:L*u*v*, color:L*a*b*, color:L*C*h): White-point must be XYZ. * colorspc.scm (L*C*h->L*a*b*): Fixed angle polarity. 2001-11-03 Aubrey Jaffer * color.scm (color:white-point): Return default if no parameter. * colorspc.scm (temperature->xyz): Optimized. * solid.scm (solid:color): Hooked to use SLIB color data-type. * slib.texi (Spectra): Replaced "White Point". Groups procedures for spectrum conversions. * colorspc.scm (temperature->xyz, XYZ:normalize-colors): Added. 2001-11-02 Aubrey Jaffer * colorspc.scm (XYZ->xyY, xyY->XYZ): Added. 2001-11-01 Aubrey Jaffer * colorspc.scm (XYZ->chromaticity): Added. (wavelength->xyz): Added. 2001-10-31 Aubrey Jaffer * color.scm (color->L*C*h): Added. (color->L*u*v*, color->L*a*b*): Fixed white-point arguments. (color:RGB709, color:CIEXYZ): Relaxed bounds 0.001. (color:white-point): Depends on color:encoding. * colorspc.scm (L*a*b*->L*C*h): Normalize angle positive. 2001-10-21 Aubrey Jaffer * getparam.scm (getopt-barf): Replace calls to slib:warn with lines written to current-error-port; to dovetail better with the call to parameter-list->getopt-usage immediately after. 2001-10-14 Aubrey Jaffer * nclients.scm (ftp-upload): Removed (to docupage). * prec.scm (tok:bump-column, prec:parse): Fluid-let prec:token whenever *prec:port* is. 2001-10-11 Aubrey Jaffer * cie1931.xyz: Added. * color.scm: Reorganized documentation. * colorspc.scm (read-ciexyz!, spectrum->xyz): Added. 2001-10-09 Mikael Djurfeldt * guile.init (guile:wrap-case-insensitive): Simplified. 2001-10-07 Aubrey Jaffer * color.scm: Color data type supporting CIEXYZ, RGB709, sRGB, e-sRGB, L*a*b*, L*u*v*, and L*C*h. Added smooze documentation. (color-white-point): Fixed wrapping. * colorspc.scm (CMC:DE): CMC:DE is designed only for small color-differences. But try to do something reasonable for large differences. Use bisector (h*) of the hue angles if separated by less than 90.o; otherwise, pick h of the color with larger C*. (e-sRGB:into-matrix): Fixed missing '-'. Moved error checking to "color.scm". 2001-10-06 Aubrey Jaffer * colorspc.scm (CIE:DE, CIE:DE*94, CMC:DE): Added color difference metrics. * slib.texi (Color Spaces): Section added. * colorspc.scm (e-sRGB->e-sRGB): Added. (CIE:DE, CIE:DE*94): Color difference functions added. Input range checking added to most functions. 2001-09-25 Aubrey Jaffer * strsrch.scm (string-index, string-index-ci, string-reverse-index, string-reverse-index-ci): Optimized. 2001-09-23 Aubrey Jaffer * guile.init: Replaces guile/ice-9/slib.scm. (array-indexes, array-copy!, copy-bit, bit-field, copy-bit-field): Added missing procedures. (slib:load, read): Wrapped with guile:wrap-case-insensitive; fixes symbol-case problems. * logical.scm (bitwise-if): Was missing. * array.scm (create-array): Added function allowing transparent support for uniform-arrays. (make-array): Defined in terms of create-array. 2001-09-22 Aubrey Jaffer * array.scm (array-shape): Fixed confusion with array:shape. 2001-09-12 Aubrey Jaffer * slib.texi (Color Spaces): Documentation for colorspc.scm. * tek41.scm, tek40.scm: Removed very old modules not in catalog. 2001-09-11 Aubrey Jaffer * strcase.scm (StudlyCapsExpand): Added. 2001-09-09 Aubrey Jaffer * colorspc.scm: Added -- CIE, sRGB, e-sRGB color-space transforms. * solid.scm (solid:rotation): Added. 2001-09-06 Aubrey Jaffer * solid.scm (solid:sphere, solid:spheroid, solid:center-row-of, solid:center-array-of, solid:center-pile-of): Added. 2001-09-05 Aubrey Jaffer * solid.scm (solid:color, solid:scale, solid:box): Generalized and documented. 2001-09-04 Aubrey Jaffer * solid.scm: Added VRML97 solid-modeling package. * pnm.scm, nclients.scm, htmlform.scm: Use \\n (not \n) for #\newline in printf strings. 2001-09-01 Aubrey Jaffer * slib.texi (RnRS): Added subsection. * null.scm: Added. * Makefile (revfiles): Added "null.scm" * mklibcat.scm: Added support for AGGREGATE. (r2rs, r3rs, r4rs, r5rs): Added aggregate features. * require.scm (require:require): Added AGGREGATE *catalog* format. * slib.texi (Library Catalogs): Added AGGREGATE *catalog* format. Fri Jul 27 19:54:00 EDT 2001 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2d1 to 2d2. 2001-07-27 Aubrey Jaffer * s48-0_57.init: Added. 2001-07-24 Aubrey Jaffer * array.scm (make-shared-array): Fixed offset. * record.scm: Changed identifiers containing VECTOR to VECT or VCT (but no help for scheme48-0.57). 2001-07-18 Aubrey Jaffer * slib.texi (Collections, Lists as sets, Multi-argument / and -, Multi-argument Apply): Improved procedure templates. * comlist.scm: Replaced single-letter identifier names to improve readability. * slib.texi (Lists as sequences): Updated examples per change to comlist.scm. * comlist.scm (comlist:union, comlist:intersection, comlist:set-difference, comlist:remove-if, comlist:remove-if-not, comlist:remove-duplicates): Earlier tail-recursion enhancements changed the element order; which broke things. Order restored. 2001-07-16 Aubrey Jaffer * array.scm: Rewritten to sidestep license issues. (array=?): Added. * slib.texi (Arrays): Documentation integrated with array.scm. 2001-06-28 Aubrey Jaffer * tree.scm (tree:subst): Rewritten; takes optional equality predicate argument. 2001-06-21 Aubrey Jaffer * Makefile (docfiles): Added "COPYING". 2001-06-19 Aubrey Jaffer * mitcomp.pat: Unmaintained; removed. * RScheme.init: Put in the public domain. 2001-06-11 Jacques Mequin * gambit.init: (set-case-conversion! #t) 2001-06-07 Aubrey Jaffer * Makefile (slib48): Simplified: scheme48 < scheme48.init * scheme48.init (slib-primitives): Pipe into scheme48, not load. Scheme48-0.45 the only version which runs jacal successfully. 2001-06-05 Jacques Mequin * scheme48.init (defmacro): Defmacro in terms of define-syntax using defmacro:expand*. 1998-09-28 Wade Humeniuk * yasyn.scm, object.scm, recobj.scm: Placed in public domain. 2001-05-31 Aubrey Jaffer * scmactst.scm: Removed for lack of license. * struct.scm, structst.scm: Removed. struct.scm lacks license. 2001-05-29 Aubrey Jaffer * scheme48.init (atan): Added workaround. * Makefile (slib48-0.55): Makes slib48, but fluid-let broken. 2001-05-28 Aubrey Jaffer * format.scm (mutliarg/and-): Requires. * mularg.scm (two-arg:/, two-arg:-): Added. * scheme48.init (*features*): Doesn't support multiarg/and-. * Makefile (slib48-0.45): Added ",load-package floatnums". 2001-05-23 Aubrey Jaffer * slib.texi (Installation): Added specific instructions for DrScheme, MIT-Scheme, and Guile. * guile.init: Added. 2001-05-19 Aubrey Jaffer * require.scm (program-vicinity): Improved error message. * slib.texi (Installation): Explicit instructions for MzScheme. 2001-05-15 Aubrey Jaffer * Makefile (pdf): Added target for creating $(htmldir)slib.pdf. 2001-04-26 Aubrey Jaffer * slib.texi (Installation): Expanded instructions. 2001-04-15 Aubrey Jaffer * bigloo.init, RScheme.init, STk.init (*features*): Provide srfi. * Template.scm, *.init (*features*): Put into consistent form. * require.scm (srfi): Detect presence of srfi-0 through srfi-30. 2001-04-12 Aubrey Jaffer * srfi-1.scm: Added. * comlist.scm (comlist:remove): Returns don't disturb order. 2001-04-10 Aubrey Jaffer * array.scm: Generalized so strings and vectors are arrays. * slib.texi (Standard Formatted Output): %b was missing. 2001-04-05 Aubrey Jaffer * slib.texi (Sorting and Searching): Section split from "Procedures". * differ.scm (diff:longest-common-subsequence): Added. (diff:longest-common-subsequence, diff:edits, diff:edit-length): Optional third argument is equality predicate. 2001-04-04 Aubrey Jaffer * differ.scm: An O(NP) Sequence Comparison Algorithm. 2001-03-29 Aubrey Jaffer * srfi.scm (cond-expand): Added. 2001-03-23 Aubrey Jaffer * wttree.scm (error:error): Replaces error. 2001-03-21 Aubrey Jaffer * dbutil.scm (make-defaulter): number defaults to 0. 2001-03-18 Aubrey Jaffer * Makefile (rpm): Fixed dependencies. Thu Mar 15 20:52:30 EST 2001 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2c9 to 2d1. 2001-03-15 Aubrey Jaffer * Makefile (rpm): Added to dist target. (mfiles): Added slib.spec. 2001-03-15 Radey Shouman * slib.spec: Added spec file to generate a .rpm file. Largely based on that of Dr. Robert J. Meier 2001-03-13 Aubrey Jaffer * Makefile (docfiles): Added all the *.txi. * db2html.scm (HTML editing tables): Replaced "record" with "row". * http-cgi.scm (query-alist->parameter-list): Null string --> #f. 2001-03-12 Aubrey Jaffer * coerce.scm (type-of): Removed 'null; broke (coerce '() 'string). 2001-03-09 Aubrey Jaffer * htmlform.scm (html:meta, html:http-equiv): Added. 2001-03-04 Aubrey Jaffer * htmlform.scm (html:meta-refresh): Added. 2001-02-28 Aubrey Jaffer * http-cgi.scm (query-alist->parameter-list): Only separate words for nary parameters. * getparam.scm (getopt->parameter-list): Accomodate positional arguments, both ends. (getopt->parameter-list, getopt->arglist): Take optional description strings. 2001-02-27 Aubrey Jaffer * db2html.scm (command:make-editable-table): Added optional arguments passed to command:modify-table. (command:modify-table): Added null-keys argument; removed pkl. * http-cgi.scm (http:forwarding-page): Added. 2001-02-25 Aubrey Jaffer * htmlform.scm (html:text-area): fixed. * http-cgi.scm (coerce->list): Added. * paramlst.scm (check-arities): Generate warning for wrong arity. * db2html.scm (command:make-editable-table): Deduce arities. * comlist.scm (comlist:list-of??): Added. 2001-02-24 Aubrey Jaffer * coerce.scm (coerce, type-of): Extracted from comlist.scm. 2001-02-16 Aubrey Jaffer * uri.scm (uri:path->keys): Takes list of type-symbols. * simetrix.scm (SI:unit-infos): bit is "bit" (not b). 2001-02-12 Aubrey Jaffer * uri.scm (uri:decode-path, uri:path->keys): Now take path-list instead of path. Fixes bug when '/' was in URI path. * http-cgi.scm (make-query-alist-command-server): Renamed from make-uriencoded-command-server; takes query-alist instead of query-string. Diagnostics can use query-alist without recreating. * db2html.scm (html:linked-row-converter): If a field has a foreign-key of "*catalog-data*", then link to foreign table. (catalog->html, table->linked-html): Put caption at BOTTOM. 2001-02-11 Aubrey Jaffer * htmlform.scm (command->p-specs): Renamed from command->html because it has changed so much. No longer does mapper argument. 2001-02-08 Aubrey Jaffer * db2html.scm (command:make-editable-table): Returns editing-row procedure. * htmlform.scm (html:select, html:buttons, form:element, form:delimited): value-list and visibles arguments combined. * dbutil.scm (get-foreign-choices): extracted from command->html. (make-defaulter): Added. 2001-02-07 Aubrey Jaffer * strcase.scm (symbol-append): Added. * http-cgi.scm (make-uriencoded-command-server): Only apply comval if arglist worked. * htmlform.scm (command->html): Big change; returns list of results of application of (new) MAPPER argument. (form:delimited, form:tabled): Added MAPPER procedures. * db2html.scm (html:editable-row-converter): Check for edit-converter being #f. (command:make-editable-table): *keys*, *row-hash* NOT optional. 2001-02-06 Aubrey Jaffer * htmlform.scm (form:element): Extracted from html:generate-form. * db2html.scm (html:editable-row-converter): Added. (command:modify-table): Handle case all fields are primary keys. 2001-02-04 Aubrey Jaffer * db2html.scm (command:modify-table, command:make-editable-table): (HTML editing tables): Added. * htmlform.scm (form:submit): Enhanced. 2001-01-30 Aubrey Jaffer * uri.scm (uri:decode-authority, make-uri): en/decode userinfo. (uri:make-path): Added. (read-anchor-string): Removed; just use paths for combined keys. * slib.texi (Lists as sets): Examples had incorrect order in returned lists. * uri.scm (html:base, html:isindex): Added. (uri->tree): Optional base-tree argument added for relative URI. Brought into full conformance with RFC 2396 test cases. 2001-01-28 Aubrey Jaffer * uri.scm (html:anchor, html:link uri->tree make-uri): Added. (uri:split-fields, uri:decode-query): Moved and renamed from http-cgi.scm. * htmlform.scm (form:image): Added. 2001-01-27 Aubrey Jaffer * uri.scm: Added collected URI functions from "http-cgi.scm" and "db2html.scm". 2001-01-25 Aubrey Jaffer * makcrc.scm (make-port-crc): Added CRC-16 default. Can now take just generator argument. * db2html.scm (html:linked-row-converter, table->linked-html, table->linked-page, db->html-files, db->html-directory): more evocative names. (html:catalog-row-converter): Stripped down version for catalog. * pp.scm (pretty-print->string): Added. (pp:pretty-print): Use (output-port-width port) for width. * genwrite.scm (genwrite:newline-str): abstracted. * htmlform.scm (html:pre): Improved HTML formatting. 2001-01-24 Aubrey Jaffer * http-cgi.scm (query-alist->parameter-list): Made robust for unexpected option-names; and generates warning. 2001-01-23 Aubrey Jaffer * db2html.scm: Fixed HTML per http://validator.w3.org/check. 2001-01-20 Aubrey Jaffer * simetrix.scm (SI:conversion-factor): Negative return codes. 2001-01-16 Aubrey Jaffer * simetrix.scm (SI:unit-infos): Added katal. Replaced bel (B) with decibel (dB). (SI:prefix-exponents): Added [IEC 60027-2] binary prefixes. (SI:unit-infos): Added bit and byte (B). 2001-01-15 Aubrey Jaffer * simetrix.scm (SI:unit-infos): Updated eV and u from CODATA-1998. (SI:solidus): Abstracted parse functions. 2001-01-14 Aubrey Jaffer * simetrix.scm: SI Metric Interchange Format for Scheme Added. 2001-01-11 Aubrey Jaffer * scanf.scm (stdio:scan-and-set read-ui): Fixed dependence on LET evaluation order. 2001-01-04 Ben Goetter * pscheme.init: Revised. 2001-01-04 Lars Arvestad * gambit.init (*features*): Gambit 3.0 provides call-with-input-string and call-with-output-string. 2000-12-21 Aubrey Jaffer * schmooz.texi: Split out from slib.texi. 2000-12-13 Radey Shouman * printf.scm (stdio:parse-float): Adjust so %e format prints an exponent of zero for 0.0 2000-12-12 Aubrey Jaffer * dbutil.scm (dbutil:list-table-definition): Added. 2000-12-11 Aubrey Jaffer * db2html.scm (html:caption): Split out from html:table. 2000-12-04 Aubrey Jaffer * rdms.scm (sync-database): Added. 2000-10-30 Aubrey Jaffer * pnm.scm (pnm:array-write): PGMs were always being written with 15 for maxval. 2000-10-22 Aubrey Jaffer * http-cgi.scm (make-urlencoded-command-server): Uses the value of *suggest* if *command* is not in the query-string; if neither uses literal *default*. * htmlform.scm (html:form html:hidden html:checkbox html:text html:text-area html:select html:buttons form:submit form:reset): Procedures documented. No longer builds in
tags. 2000-10-16 Aubrey Jaffer * htmlform.scm (html:blank): Added. (html:plain): Returns non-break-space for html:blank. (html:select html:buttons command->html html:generate-form): Added support for VISIBLE-NAME field for foreign-key domains. 2000-10-14 Aubrey Jaffer * debug.scm (for-each-top-level-definition-in-file): define-syntax is a top-level-definition too. * makcrc.scm (make-port-crc): Converted to use read-byte. 2000-10-12 Aubrey Jaffer * htmlform.scm (html:generate-form): was ignoring method. Sat Oct 7 23:09:40 EDT 2000 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2c8 to 2c9. 2000-10-07 Aubrey Jaffer * slib.texi (Installation): Instructions cataloged by implementation. 2000-10-03 Aubrey Jaffer * DrScheme.init: Added support for DrScheme. 2000-09-28 Aubrey Jaffer * http-cgi.scm (form:split-lines): Don't return empty strings. 2000-09-27 Aubrey Jaffer * http-cgi.scm (form-urlencoded->query-alist): Don't convert empty strings to #f. 2000-09-26 Aubrey Jaffer * http-cgi.scm (make-urlencoded-command-server): Unifies form-urlencoded->query-alist, serve-query-alist-command, and invoke-command-on-parameter-list. * paramlst.scm (remove-parameter): Added. 2000-09-25 Aubrey Jaffer * http-cgi.scm (cgi:serve-query): Added. * Makefile, README, mklibcat.scm: Added http-cgi.scm * http-cgi.scm: Split off from htmlform.scm. 2000-09-15 Aubrey Jaffer * randinex.scm (random:solid-sphere!): Return radius. 2000-09-10 Aubrey Jaffer * htmlform.scm: Major rewrite. html: procedures now return strings. * db2html.scm: Moved html table functions from htmlform.scm. 2000-08-06 Aubrey Jaffer * htmlform.scm (html:checkbox): Rectified number of arguments conflict. (html:hidden): Added. (html:text, html:checkbox, html:dt-strong-doc): Added functional procedures; renamed previous with appended `!'. * dbutil.scm (make-command-server): *default* command added. (dbutil:check-domain): Abstracted to top-level procedure. 2000-08-03 Aubrey Jaffer * charplot.scm (find-scale): Pick arbitrary scale when data has range of zero. (plot-function!): Added. 2000-06-24 Colin Walters * comlist.scm (comlist:intersection, comlist:set-difference, comlist:remove, comlist:remove-if, comlist:remove-if-not, comlist:butlast, comlist:butnthcdr): Fixed functions which weren't properly tail recursive. 2000-06-26 Aubrey Jaffer * pnm.scm: PNM image file functions added. 2000-06-25 Aubrey Jaffer * charplot.scm (charplot:iplot!): Fixed label and axis bug. Sat Jun 3 21:26:32 EDT 2000 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2c7 to 2c8. 2000-05-30 Aubrey Jaffer * scsh.init vscm.init umbscheme.init t3.init scheme48.init scheme2c.init mitscheme.init macscheme.init gambit.init chez.init bigloo.init (find-ratio find-ratio-between): Added rationalize adjunct procedures. * ratize.scm (find-ratio-between find-ratio): Advertised procedures return list of numerator and denominator. 2000-05-17 Aubrey Jaffer * schmooz.scm (schmooz-tops): Removed gratuitous newlines in texi output. 2000-04-22 Aubrey Jaffer * alistab.scm (ordered-for-each-key, map-key, for-each-key delete*): Added primary-limit and column-type-list to arguments. * rdms.scm (create-database): Removed warning "file exists". (open-table): Replaced lone call to make-list. (for-each-row, row:delete*, get*): Added primary-limit and column-type-list to arguments. 2000-04-02 Aubrey Jaffer * htmlform.scm (html:start-table): Don't force full width. (http:serve-uri): Added. * db2html.scm: Added. 2000-03-28 Lars Arvestad * minimize.scm (golden-section-search): Added. 2000-03-20 Aubrey Jaffer * genwrite.scm (generic-write, generic-write): Down-cased QUOTE symbol names (for guile). 2000-02-14 Radey Shouman * schmooz.scm (schmooz-tops): Now reads (and ignores) #! comments. 2000-02-05 Aubrey Jaffer * trace.scm (untrack, unstack): Added. (print-call-stack): Protected bindings. 2000-01-27 * Makefile (slib.info): Conditionalize infobar. 2000-01-26 Aubrey Jaffer * require.scm (require:provided?): Don't catalog:get if not *catalog*. 2000-01-24 Radey Shouman * defmacex.scm (defmacro:expand*): Avert MAP error in case input code has a DEFMACRO with an improper list as argument list. (The DEFMACRO still does not take effect). 2000-01-22 Aubrey Jaffer * schmooz.scm (schmooz): replaced non-portable calls to OPEN-FILE. (schmooz): Fixed behavior when filename has no suffix; discard up to first semicolon in file. 2000-01-08 Aubrey Jaffer * trace.scm (call-stack-news?): Fixed polarity error. (debug:trace-procedure): made counts 1-based. 2000-01-02 Aubrey Jaffer * Template.scm, *.init (slib:error, slib:warn): print-call-stack. * trace.scm (print-call-stack, call-stack-news?): Added. * break.scm (debug:breakpoint): print-call-stack. 1999-12-29 Aubrey Jaffer * trace.scm (track, stack): Added ability to maintain call stack of selected procedures. * debug.scm (trace-all, break-all): Now accept multiple (file) arguments. * Makefile (tagfiles): *.init files added. 1999-12-18 Aubrey Jaffer * mklibcat.scm: Added jfilter. * slib.texi (Extra-SLIB Packages): Added jfilter. Sun Dec 5 19:54:35 EST 1999 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2c6 to 2c7. 1999-12-04 Aubrey Jaffer * charplot.scm (charplot:number->string): printf %g gets rid of microscopic fractions. * printf.scm (%g): Make precision threshold work for both fractions and integers. 1999-12-03 Aubrey Jaffer * nclients.scm (browse-url-netscape): Try running netscape in background. 1999-11-14 Aubrey Jaffer * batch.scm (write-batch-line): Added slib:warn. 1999-11-01 Aubrey Jaffer * paramlst.scm (check-parameters): Improved warning. 1999-10-31 Aubrey Jaffer * batch.scm (batch:command): Renamed from batch:system. (batch:try-command): Renamed from batch:try-system. (batch:try-chopped-command): Added. (batch:apply-chop-to-fit): Removed. 1999-09-29 Radey Shouman * glob.scm (replace-suffix): Now works. 1999-09-17 Aubrey Jaffer * slib.texi: Put description and URL into slib_toc.html. Sun Sep 12 22:45:01 EDT 1999 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2c5 to 2c6. 1999-07-08 Aubrey Jaffer * format.scm (format:string-capitalize-first): Renamed from string-capitalize-first. (format:list-head): Renamed from list-head. (string-index): Removed. 1999-06-07 Radey Shouman * printf.scm (stdio:parse-float): Now handles strings representing complex numbers in polar form. (stdio:parse-float): Now parses non-real numbers written in rectangular form. (stdio:iprintf): Inexact formats work on non-real numbers assuming NUMBER->STRING outputs a rectangular format. Inexact formats given a string or symbol rather than a number output "???" if the string cannot be parsed as an inexact number. 1999-06-06 Aubrey Jaffer * fft.scm (fft fft-1): Added. 1999-06-05 Radey Shouman * glob.scm (glob:substitute??, glob:substitute-ci??): Now accept a procedure or string as template argument, for more general transformations. 1999-05-28 Gary T. Leavens * chez.init: Updated for Chez Scheme 6.0a. * bigloo.init: Added. 1999-05-18 Aubrey Jaffer * printf.scm (stdio:iprintf): Extra arguments are *not* a bug. 1999-05-08 Aubrey Jaffer * lineio.scm (read-line!): fixed to eat trailing newline when line length equals string length. 1999-05-08 Ben Goetter * pscheme.init: String-ports added for version Pscheme 0.3.6. 1999-05-07 * charplot.scm (plot-function): Added. (charplot:plot!): Now will accept array argument. 1999-05-02 Jim Blandy * format.scm (format:format): If the first argument is the format string, stick a #f on the front of it, so it is now a valid CL format argument list. This is easier than changing everyplace else (like the error formatter) that expects it to be in CL form. The other clause which explicitly tests for this case is now dead code; remove it. (format:format-work): Allow `@' and `:' in either order, as per modern CL behavior. (format:num->cardinal): Don't assume that an elseless if returns '() when the condition is false. 1999-04-22 Radey Shouman * root.scm (secant:find-root): Replaced hack to decide on accepting regula-falsi step with a modified regula-falsi in which the weight of an "old" function value is repeatedly decreased each time it is retained. 1999-04-13 Radey Shouman * root.scm (secant:find-root): Now checks that a step is actually of nonzero length, otherwise small tolerances lead to not stopping. Tuned for the case that one starting point is much closer to the root than the other. 1999-04-08 Ben Goetter * pscheme.init: updated with defmacro for version 0.3.3. 1999-04-04 Aubrey Jaffer * lineio.scm: Fixed @args command in documentation-comment. 1999-03-27 Aubrey Jaffer * strsrch.scm (find-string-from-port?): Fixed so procedure argument is called at most once per character. 1999-03-11 Radey Shouman * fluidlet.scm: Added (require 'common-list-functions), for MAKE-LIST. 1999-03-08 Aubrey Jaffer * RScheme.init, STk.init, Template.scm, chez.init, elk.init, gambit.init, macscheme.init, mitscheme.init, pscheme.init, scheme2c.init, scheme48.init, scsh.init, t3.init, vscm.init: Added scheme-implementation-home-page definition 1999-03-04 radey * root.scm (secant:find-bracketed-root): Added, requires (f x0) and (f x1) to have opposite signs. 1999-03-03 Radey Shouman * printf.scm (stdio:printf): Tweaks to %k format so that the precision indicates the number of significant digits, as in %g format. 1999-03-02 Radey Shouman * printf.scm (stdio:printf): %k format now uses %f instead of %g to format the scaled number. * root.scm (secant:find-root): Added. 1999-02-25 Radey Shouman * printf.scm (stdio:iprintf): Fixed bug in %f format, (printf "%.1f" 0.001) printed "0", now prints "0.0" 1999-02-12 Hakan L. Younes * batch.scm, slib.texi: amiga-gcc port. 1999-02-10 Radey Shouman * printf.scm (stdio:iprintf): K format now prints no prefix if exponent is beyond the range of the specified prefixes. (stdio:iprintf): Added and corrected SI prefixes, ref http://physics.nist.gov/cuu/Units/prefixes.html . (stdio:iprintf): Added numerical format specifiers %K and %k, which format like %g, except that an SI prefix is output after the number, which is scaled accordingly. %K outputs a space between number and prefix, %k does not. It would be good to allow %f and %e like formatting, but it's not clear how to fit this into the format string syntax. 1999-02-09 Aubrey Jaffer * rdms.scm (domains:init-data): added number domain. 1999-01-30 Matthew Flatt * mbe.scm (hyg:untag-quasiquote): Added to fix quasiquote in output. 1999-01-30 Dorai Sitaram * mbe.scm (mbe:ellipsis-sub-envs, mbe:append-map): Modified to fix multiple ellipses problem. 1999-01-26 Erick Gallesio * STk.init: The actual file. 1999-01-25 Aubrey Jaffer * RScheme.init: added; content is from http://www.rscheme.org/rs/pg1/RScheme.scm 1999-01-24 Aubrey Jaffer * STk.init: added; content is from http://kaolin.unice.fr/STk/FAQ/FAQ-1.html#ss1.9 1999-01-23 Aubrey Jaffer * alistab.scm (open-base): Check file exists before opening it. 1999-01-21 Aubrey Jaffer * htmlform.scm (html:start-page): Extra arguments printed in HEAD (for META tags). 1999-01-20 Aubrey Jaffer * htmlform.scm (make-atval make-plain): use object->string for non-atomic arguments. 1999-01-19 Radey Shouman * printf.scm (stdio:iprintf): Now reports wrong number of arguments instead of silently ignoring extra arguments or taking the CAR of the empty list. Sun Jan 17 12:33:31 EST 1999 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2c4 to 2c5. 1999-01-12 Aubrey Jaffer * mitscheme.init (char-code-limit): Added. Builtin char-code-limit is 65536 (NOT!) in MITScheme Version 8.0. 1999-01-11 Aubrey Jaffer * batch.scm (batch:apply-chop-to-fit): fixed off-by-1 error. 1999-01-10 Aubrey Jaffer * randinex.scm: moved (schmooz) documentation here from scm.texi. (random:uniform1): Renamed from random:uniform. (random:uniform): Added (takes optional state argument). (random:normal): Made reentrant. * random.scm: moved (schmooz) documentation here from scm.texi. 1999-01-09 Aubrey Jaffer * random.scm (seed->random-state): added. 1999-01-08 Aubrey Jaffer * mitscheme.init (object->limited-string): Added. * random.scm (random:random): Fixed embarrassingly stupid bug. 1999-01-07 Aubrey Jaffer * alistab.scm (supported-key-type?): number now allowed. 1998-12-22 Radey Shouman * printf.scm (stdio:round-string): Makes sure result has at least STRIP-0S characters after the implied decimal point if STRIP-0S is not false. Fixes bug associated with engineering notation in SCM. 1998-12-18 Aubrey Jaffer * schmooz.scm (schmooz): Converted from replace-suffix to filename:substitute??. 1998-12-16 Radey Shouman * glob.scm (glob:make-substituter): Made to handle cases where PATTERN and TEMPLATE have different numbers of literal sections. * glob.scm (glob:pattern->tokens, glob:make-matcher): (glob:make-substituter): Fixed to accept null strings as literals to match, for REPLACE-SUFFIX. There is no way to write a glob pattern that produces such a token, should there be? 1998-12-15 Radey Shouman * glob.scm (glob:substitute??) renamed from glob:transform?? (filename:substitute??) identical to glob:substitute?? 1998-12-14 Radey Shouman * glob.scm (glob:pattern->tokens): Separated from GLOB:MAKE-MATCHER. (glob:make-transformer): (glob:transform??): (glob:transform-ci??): Added. (replace-suffix): Rewritten using GLOB:TRANSFORM?? 1998-12-09 Aubrey Jaffer * yasyn.scm: Restored to SLIB. yasos.scm removed. * object.scm: Restored to SLIB * recobj.scm: Restored to SLIB 1998-12-08 Aubrey Jaffer * slib.texi (Copyrights): Added HTML anchor for Copying information. (Installation): Added HTML anchor for Installation instructions. 1998-12-02 Aubrey Jaffer * fluidlet.scm (fluid-let): Rewritten as defmacro. 1998-11-30 Radey Shouman * fluidlet.scm (fluid-let): Changed macro definition so that it doesn't depend on being able to combine input from two different ellipsis patterns. Now produces a nice expansion with macro-by-example so that one can see exactly what goes wrong. 1998-11-29 Aubrey Jaffer * htmlform.scm (table->html): Table conversion functions added. 1998-11-27 Aubrey Jaffer * nclients.scm (glob-pattern?): Added. 1998-11-24 Aubrey Jaffer * htmlform.scm (html:href-heading): simplified. 1998-11-16 Aubrey Jaffer * htmlform.scm (html:comment): No longer puts `>' alone on line. (make-plain make-atval): renamed from html:plain and html:atval; html: functions now all output HTML. * nclients.scm (user-email-address): Ported to W95 and WNT. (make-directory): added. * dbrowse.scm (browse:display-table): Column-foreigns restored. * htmlform.scm (html:atval html:plain): Now accept numbers. (html:pre): Added. (html:start-page html:end-page): Updated to HTML 3.2. HTML header added. * rdms.scm (make-relational-system): column-foreign-list split into column-foreign-check-list and column-foreign-list. 1998-11-12 Aubrey Jaffer * lineio.scm (display-file): added. Schmoozed docs. 1998-11-12 Radey Shouman * schmooz.scm (schmooz-top): No longer emits @defun lines for definitions not separated by blank lines unless they have associated @body comment lines. 1998-11-11 Radey Shouman * fluidlet.scm (fluid-let): Redone to restore variable values even if a continuation captured in the body is invoked. Now agrees with MIT Scheme documentation. 1998-11-11 Aubrey Jaffer * nclients.scm: Added net-clients. * require.scm (vicinity:suffix?): Abstracted from program-vicinity. 1998-11-04 Aubrey Jaffer * comlist.scm (remove-duplicates): added. (adjoin): memq -> memv. Tue Nov 3 17:47:32 EST 1998 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2c3 to 2c4. 1998-10-24 Aubrey Jaffer * cring.scm: Added procedures to create and manipulate rulesets. * cring.scm (cring:db): Distributing / over + led to infinite loops. Now only distribute *. 1998-10-19 amu@mit.edu * timezone.scm (tzfile:vicinity): Linux RH 5.x moved zoneinfo to /usr/share and didn't bother to leave a symlink behind. This caused ctime to print out things in GMT, instead of using the local time. 1998-10-01 Aubrey Jaffer * factor.scm: Moved documentation to schmooz format. (prime:prime< prime:prime>): written. (prime:prngs): added. (Solovay-Strassen??): No longer tries `1'. (prime:products): Added list of prime products smaller than most-positive-fixnum. (prime:sieve): added to test for primes smaller than largest prime in prime:products. (prime:factor): wrapper rewritten. Code cleaned up. * primes.scm: removed. 1998-09-29 Aubrey Jaffer * paramlst.scm (check-parameters): Now generates slib:warn when parameter is wrong type. * debug.scm (for-each-top-level-definition-in-file): Now discards `magic-number' first line of files when first character is `#'. * batch.scm (batch:port parms): enabled warning. 1998-09-28 Aubrey Jaffer * scheme2c.init scsh.init t3.init chez.init, vscm.init, scheme48.init, mitscheme.init, macscheme.init, gambit.init, elk.init, Template.scm: Placed in public domain to make distributing modified versions easier. * schmooz.scm, htmlform.scm, admin.scm, glob.scm, ChangeLog: Cleaned a bit. 1998-09-28 Aubrey Jaffer * slib.texi (most-positive-fixnum): fixed description. 1998-09-22 Ortwin Gasper * random.scm (random:random): Removed one-parameter call to logand. 1998-09-22 Radey Shouman * schmooz.scm: Changed all references to #\nl to #\newline. Removed all references to #\cr. Trailing whitespace no longer prevents issuing a defunx for an additional definition form. 1998-09-21 Aubrey Jaffer * primes.scm: Eliminated use of 1+. (probably-prime?): #f for negative numbers. 1998-09-19 Jorgen Schaefer * glob.scm (glob:match?? glob:match-ci??): fixed wrappers. 1998-09-11 Aubrey Jaffer * Makefile (release): Uploads SLIB.html. * require.scm (*SLIB-VERSION*): Bumped from 2c2 to 2c3. * slib.texi (Filenames): documented pattern strings. * Makefile: Added $srcdir to TEXINPUTS for TeX. 1998-09-10 Radey Shouman * schmooz.scm (schmooz): Added @args markup command. 1998-09-09 Radey Shouman * schmooz.scm (schmooz): Now tries harder to determine whether a definition is of a procedure or non-procedure variable. Recognizes DEFMACRO, DEFINE-SYNTAX. 1998-09-06 Aubrey Jaffer * slib.texi (Schmooz): Added documentation. * Makefile (info htmlform.txi): made smarter about when to run schmooz. 1998-09-03 Radey Shouman * schmooz.scm (scheme-args->macros): Now passed either a symbol, for variable definition, or a possibly improper list, for function/macro definition. For the variable definition case generates @var{... for @0 instead of @code{... Now uses APPEND to be more readable. 1998-09-03 Aubrey Jaffer * slib.texi (Format): documentation moved to fmtdoc.txi. * glob.scm (filename:match?? filename:match-ci??): aliases added. 1998-09-02 Radey Shouman * glob.scm: Added. 1998-09-01 Aubrey Jaffer * primes.scm (primes:prngs): added to reduce likelyhood of reentrant random calls. 1998-08-31 Aubrey Jaffer * random.scm: rewritten using new seedable RNG. * randinex.scm (random:uniform): Rewritten for new RNG. 1998-08-27 Aubrey Jaffer * primes.scm (primes:dbsp?): Now requires 'root and uses integer-sqrt for sqrt on platforms not supporting inexacts. 1998-08-25 * record.scm (rtd-name): Fixed so record rtds print. 1998-08-16 Aubrey Jaffer * cring.scm (*): Number distribution requires separate treatment. 1998-08-11 Aubrey Jaffer * factor.scm (prime:factor): (factor 0) now returns '(0) rather than infinite-looping. 1998-08-09 Aubrey Jaffer * cring.scm (*): Added check for (* -1 (- )) case. 1998-07-08 Aubrey Jaffer * prec.scm (prec:warn): now takes arbitrary number of arguments. (prec:nofix): (prec:postfix): extra arguments are appended to the rules list; not bound. * qp.scm (qp:qp): *qp-width* set to #f now the same as *qp-width* set to 0 -- the full expressions are printed. 1998-07-05 Aubrey Jaffer * prec.scm (prec:nofix): Added . binds args, which are combined with *syn-rules*. 1998-06-12 Aubrey Jaffer * Makefile (dist): Added cvs flag command to dist target. 1998-06-08 Aubrey Jaffer * htmlform.scm (html:start-form): added rest of METHOD types. (html:generate-form command->html): regularized argument order to `command method action'. * dbutil.scm (add-domain): Changed from row:insert to row:update. * rdms.scm (write-database): was not returning status. 1998-06-07 Aubrey Jaffer * strcase.scm (string-ci->symbol): added. * htmlform.scm ((command->html rdb command-table command method action)): renamed from commands->html. Method argument added. (query-alist->parameter-list): now removes whitespace between symbols. Fri Jun 5 16:01:26 EDT 1998 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2c1 to 2c2. 1998-06-04 Aubrey Jaffer * schmooz.scm: Top-level procedure names changed to have `schmooz' in them. * htmlform.scm: Schmooz documentation added for more procedures. 1998-06-03 Aubrey Jaffer * schmooz.scm (document-args->macros): fixed for `rest arglists'. (document-fun): fixed for `rest arglists'. * strsrch.scm (string-subst): added. * htmlform.scm (html:text-subst): removed. References changed to STRING-SUBST. 1998-06-02 radey * Makefile: Added schmooz.scm to ffiles. * schmooz.scm: Texinfo document generator for Scheme programs. 1998-06-02 Aubrey Jaffer * htmlform.scm: Added documentation. (http:send-error-page): scope of fluid-let was wrong. * paramlst.scm (check-parameters): now returns status rather than signal error. 1998-05-30 Aubrey Jaffer * batch.scm (write-batch-line): added. (batch:write-comment-line): added so that batch:call-with-output-script and batch:comment could share code. (batch:write-header-comment): abstracted from batch:call-with-output-script. 1998-05-29 Aubrey Jaffer * htmlform.scm: Added http stuff. 1998-05-24 Aubrey Jaffer * cring.scm (make-rat rat-*): Removed support for rational numbers. 1998-05-14 Radey Shouman * logical.scm ((bit-field n start end)): Renamed from BIT-EXTRACT. ((bitwise-if mask n0 n1)): ((logical:copy-bit index to bool)): ((logical:copy-bit-field to start end from)): added. Tue Apr 14 16:28:20 EDT 1998 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2c0 to 2c1. 1998-04-14 Aubrey Jaffer * byte.scm (bytes-length): added synonym for string-length. 1998-04-14 * printf.scm ((stdio:iprintf out format-string . args)): Added %b descriptor -- outputs a binary number representation. 1998-03-31 * printf.scm ((stdio:iprintf out format-string . args)): Floating point formatting implemented. ((stdio:parse-float str)): ((stdio:round-string str ndigs strip-0s)): Added. 1998-03-11 Radey Shouman * require.scm (program-vicinity): Now gives more informative error message when called from non-loading context. 1998-02-10 William D Clinger * mwexpand.scm (mw:case exp): added. * mwdenote.scm (mw:denote-of-case): added. 1998-02-12 Aubrey Jaffer * eval.scm (eval): Dynamic-binding was not the right paradigm. Changed eval to simply bind identifiers around form to eval. 1998-02-11 Aubrey Jaffer * slib.texi (Top): (Extra-SLIB Packages): Converted to use of new texinfo feature @url. 1998-02-08 Aubrey Jaffer * eval.scm (interaction-environment): fixed. 1998-02-02 Aubrey Jaffer & Radey Shouman * eval.scm (scheme-report-environment): implemented for version arguments of 4 and 5. 1998-02-01 Aubrey Jaffer * eval.scm (eval): R5RS proposed EVAL implemented. Sun Dec 7 22:34:50 1997 Aubrey Jaffer * getparam.scm (getopt->parameter-list getopt->arglist parameter-list->getopt-usage): moved from paramlst.scm. * htmlform.scm (commands->html cgi:serve-command): added. Thu Dec 4 20:00:05 1997 Aubrey Jaffer * timezone.scm (read-tzfile): Now can fail without signaling an error. (tzfile:vicinity): moved here from "tzfile.scm" so we don't have to load "tzfile.scm" to load a non-existant file. Sat Nov 29 22:55:23 1997 Aubrey Jaffer * paramlst.scm (parameter-list->getopt-usage): split out of getopt->parameter-list. Wed Nov 26 23:49:53 1997 Aubrey Jaffer * printf.scm (stdio:sprintf): Now creates and returns string if first argument is #f or an integer (which bounds string). Fixed some bugs. Sun Nov 23 12:31:27 1997 Aubrey Jaffer * Bev2slib.scm: created. Converts Stephen Bevan's "*.map" files to SLIB catalog entries. * require.scm (require:require): Calls catalog:get instead of require:feature->path so symbol-redirected feature names are added to *features* when file is loaded. Mon Nov 17 21:05:59 1997 Aubrey Jaffer * dbrowse.scm (browse): changed default table to #f so that full *catalog-data* can be browsed. Documented. Sat Nov 15 00:15:33 1997 Aubrey Jaffer * cltime.scm (decode-universal-time encode-universal-time): corrected for (now working) timezones. * tzfile.scm (tzfile-read tz-index): added to read Linux (sysV ?) timezone files. * byte.scm: added `bytes', arrays of small integers. Thu Nov 13 22:28:15 1997 Aubrey Jaffer * record.scm (display write): Records now display and write as #. Sun Nov 9 23:45:46 1997 Aubrey Jaffer * timezone.scm: added. Processes TZ environment variable to timezone information. (tzset): takes optional string or timezone argument and returns the current timezone. (time-zone): creates and returns a timezone from a string filename or TZ spec *without* setting global variables. (daylight? *timezone* tzname): Posix (?) global variables are set but SLIB code doesn't depend on them. * psxtime.scm (time:gmktime time:gtime): added to fill out orthogonal function set. The local time functions (localtime mktime ctime) now all take optional timezone arguments. (time:localtime): cleaned interface to timezone.scm: just calls to tzset and tz:params. Mon Oct 20 22:18:16 1997 Radey Shouman * arraymap.scm (array-index-map!): Added. (array-indexes): implemented with array-index-map! Sun Nov 2 22:59:59 1997 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2b3 to 2c0. * require.scm (catalog:get): Now loads "homecat" and "usercat" catalogs in HOME and current directories. (catalog/require-version-match?): debugged for dumped executables. ((require #f)): resets *catalog*. ((require 'new-catalog)): builds new catalog. * mklibcat.scm: Rewrote to output headers and combine implementation and site specific catalogs into "slibcat". * slib.texi (The Library System): Added chapter. Totally reorganized the Manual. Wed Oct 29 22:49:15 1997 Aubrey Jaffer * Template.scm *.init (home-vicinity): added. * require.scm (catalog:try-read): split off from catalog:try-impl-read; useful for reading catalogs from other vicinities. Thu Oct 23 23:14:33 1997 Eric Marsden * factor.scm (prime:product): added EXACT? test. Mon Oct 20 19:33:41 1997 Aubrey Jaffer * slib.texi (Database Utilities): Rewrote and expanded command-line parser example. * paramlst.scm (getopt->parameter-list): Added "Usage" printer for strange option chars. * comlist.scm (coerce): Added 'integer as an alias for 'number. Sat Oct 18 13:03:24 1997 Aubrey Jaffer * strsrch.scm (string-index-ci string-reverse-index-ci substring-ci): added. * comlist.scm (comlist:butnthcdr): added by analogy with butlast. Sun Oct 5 15:16:17 1997 Aubrey Jaffer * scsh.init: Added (thanks to Tomas By). Fri Oct 3 20:50:32 1997 Aubrey Jaffer * comparse.scm (read-command): now correctly handles \^M^J (continued lines). (read-options-file): added. Parses multi-line files of options. Fri Sep 19 22:52:15 1997 Aubrey Jaffer * paramlst.scm (fill-empty-parameters getopt->arglist): defaults argument renamed to defaulters; documentation corrected. Tue Aug 26 17:41:39 1997 Aubrey Jaffer * batch.scm: Changed sun to sunos as platform name. Mon Aug 25 12:40:45 1997 Aubrey Jaffer * require.scm (catalog:version-match?): Now checks and issues warning when *SLIB-VERSION* doesn't match first form in "require.scm". Sun Aug 24 23:56:07 1997 Aubrey Jaffer * require.scm (catalog:version-match?): added to automatically rebuild slibcat when SLIB with new version number is installed. * mklibcat.scm: *SLIB-VERSION* association now included in slibcat. Sat Aug 23 11:35:20 1997 Aubrey Jaffer * selfset.scm: added. (define a 'a) .. (define z 'z). Sat Aug 23 09:32:44 EDT 1997 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2b2 to 2b3. Thu Aug 21 10:20:21 1997 Aubrey Jaffer * determ.scm (determinant): added. Mon Jun 30 10:09:48 1997 Aubrey Jaffer * require.scm: "Supported by all implementations" section removed. * chez.init (defmacro:eval): Chez 5.0 no longer can support defmacro; added SLIB autoload defmacro:expand*. Sun Jun 29 19:36:34 1997 Aubrey Jaffer * cring.scm (cring:db): cring now works for -, /, and ^. Thu Jun 26 00:19:05 1997 Aubrey Jaffer * cring.scm (expression-< x y): added to sort unreduced expressions. Tue Jun 24 13:33:40 1997 Aubrey Jaffer * cring.scm: Added 'commutative-ring feature; extend + and * to non-numeric types. (cring:define-rule): Defines rules for + and * reduction of non-numeric types. Mon Jun 23 22:58:44 EDT 1997 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2b1 to 2b2. Sat Jun 21 23:20:29 1997 Aubrey Jaffer * alistab.scm (map-key for-each-key ordered-for-each-key): Now take match-key argument. (delete*): added. delete-assoc created to *not* accept wildcards in delete keys. * rdms.scm (get* row:delete* row:remove*): Now take match-key arguments, normalize them, and pass to base-table routines. Thu Jun 19 13:34:36 1997 Aubrey Jaffer * alistab.scm (assoc* make-assoc* delete-assoc* assoc*-for-each assoc*-map sorted-assoc*-for-each alist-sort!): added. Functions now support partial matches and key wild-carding. (remover kill-table): remover removed. Kill-table uses delete-assoc*. Sat Jun 14 22:51:51 1997 Aubrey Jaffer * alistab.scm (alist-table): Changed table handle from (table-name . TABLE) to (#(table-name key-dim) . TABLE). (alist-table): Changed primary keys from vectors to lists. Wed 28 May 1997 Dave Love * yasos.scm: Remove case-sensitivity (for Guile). Chop the duplicated code. Mon May 26 21:46:45 1997 Bill Nell * strport.scm (call-with-output-string): losing every 512th character fixed. Wed May 21 19:16:03 1997 Aubrey Jaffer * printf.scm (stdio:iprintf): changed integer-pad to integer-convert and unified conversion of non-numeric values. Wed May 14 14:01:02 1997 Aubrey Jaffer * prec.scm (prec:symbolfy): added so that for most user grammar functions, parsing defaults to the triggering token, instead of the symbol @code{?}. Tue May 13 22:46:22 1997 Albert L. Ting * elk.init (slib:error): re-written. Sat May 10 22:00:30 EDT 1997 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2b0 to 2b1. Wed May 7 15:11:12 1997 Aubrey Jaffer * prec.scm: Rewrote nearly all of JACAL parser and moved it here. Now supports dynamic binding of grammar. Tue May 6 16:23:10 1997 Aubrey Jaffer * strsrch.scm (find-string-from-port?): Enhanced: can take char instead of count and search up to char. Given procedure, tests it on every character. Wed 30 Apr 1997 John David Stone * chez.init: Revised for Chez Scheme 5.0c Tue Apr 29 19:55:35 1997 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2a7 to 2b0. * slib.texi (Library Catalog): section added to describe new catalog mechanism. * Makefile (slib48): Now defines library-vicinity and implementation-vicinity from the makefile. "slibcat" support added. Sat Apr 12 23:40:14 1997 Aubrey Jaffer * mklibcat.scm: moved from "require.scm". Rebuilds "slibcat". * require.scm (catalog:get): now caches *catalog* in implementation-vicinity scheme files "slibcat" and "implcat". Wed Apr 9 20:55:31 1997 Dorai Sitaram * mbe.scm (hyg:map*): Added to correct a minor bug in the hygienic half of mbe.scm that shows up only when define-syntax is used in a right-hand pattern inside syntax-rules. * strsrch.scm (string-reverse-index): added. Tue Apr 8 16:46:35 1997 Aubrey Jaffer * yasos.scm: Replaces "yasyn.scm" and "object.scm"; Those and "recobj.scm" were removed because of unclear copyright status. * printf.scm (stdio:iprintf): no longer translates \r to #\return. Sat Aug 10 16:11:15 1996 Mike Sperber * scheme48.init Makefile: Now makes use of module system to access required primitives. Added install48 target to Makefile. Sat Apr 5 13:26:54 1997 Aubrey Jaffer * array.scm (array-dimensions): fixed off-by-1 bug. Sat Mar 8 17:44:34 1997 Aubrey Jaffer * scanf.scm (stdio:scan-and-set): corrected handling of %5c with short input. Fri Mar 7 21:20:57 EST 1997 Aubrey Jaffer * require.scm (*SLIB-VERSION*): Bumped from 2a6 to 2a7. Sat Feb 22 10:18:36 1997 Aubrey Jaffer * batch.scm (system): added stubifier (returns #f) for when system is not provided. (system:success?): added. * wttree.scm (error): (error:wrong-type-argument): (error:bad-range-argument): Stubs added for non-MITScheme implementations. * Template.scm *.init (slib:warn): added. Sun Feb 16 21:55:59 1997 Michael Pope * gambit.init (scheme-implementation-version): updated for Gambit v2.4. Sun Dec 1 00:44:30 1996 Aubrey Jaffer * batch.scm (truncate-up-to): Added to support compiler habbit of putting object files in current-directory. Sat Aug 31 12:17:30 1996 Aubrey Jaffer * scm.init: added for completeness * record.scm (vector?): infinite recursion fixed. * dbutil.scm (make-command-server): Documentation updated. Wed Aug 21 20:38:26 1996 John Gerard Malecki * vscm.init: Implements string ports using `generic ports'. Wed Aug 21 20:38:26 1996 Aubrey Jaffer * record.scm: rewritten to make records disjoint types which are unforgable and uncorruptable by R4RS procedures. Fri Jul 19 11:24:45 1996 Aubrey Jaffer * structure.scm scaoutp.scm scamacr.scm scainit.scm scaglob.scm scaexpp.scm: Added missing copyright notice and terms. Thu Jul 18 17:37:14 1996 Aubrey Jaffer * rbtest.scm rbtree.scm: removed for lack of copying permissions. Wed Jun 5 00:22:33 1996 Aubrey Jaffer * root.scm (newton:find-integer-root integer-sqrt newton:find-root laguerre:find-root laguerre:find-root): added. Wed May 15 09:59:00 1996 Aubrey Jaffer * scanf.scm (stdio:scan-and-set): removed gratuitous char-downcase by changing all (next-format-char) ==> (read-char format-port). Tue Apr 9 19:22:40 1996 Aubrey Jaffer * slib2a5 released. * mwtest.scm: removed from distribution for lack of copyright info. * batch.scm (batch:apply-chop-to-fit): added (batch:try-system): renamed from batch:system. (batch:system): now signals error if line length over limit or system calls fail. Sun Aug 20 19:20:35 1995 Gary Leavens * struct.scm (check-define-record-syntax check-variant-case-syntax): For using the file "struct.scm" with the EOPL book, one has to make 2 corrections. To correct it, there are two places where "-" has to be replaced by "->" as in the code below... Sat Apr 6 14:31:19 1996 Aubrey Jaffer * batch.scm (must-be-first must-be-last): added. * paramlst.scm (check-parameters): made error message more informative. Mon Mar 18 08:46:36 1996 Aubrey Jaffer * modular.scm (modular:*): non-bignum symmetric modulus case was dividing by 0. Algorithm still needs to be fixed. Mon Mar 13 00:41:00 1996 Aubrey Jaffer * slib2a4 released. Sat Mar 9 21:36:19 1996 Mikael Djurfeldt * tsort.scm (topological-sort): Added. Fri Mar 8 19:25:52 1996 Aubrey Jaffer * printf.scm: Removed use of string-ports. Cleaned up error handling. Tue Mar 5 14:30:09 1996 Aubrey Jaffer * printf.scm (%a %A): General scheme output specifier added. Mon Feb 19 15:48:06 1996 Aubrey Jaffer * scanf.scm (stdio:scan-and-set): Removed flush-whitespace from all conversion specifications per suggestion from oleg@acm.org (Oleg Kiselyov). Sat Feb 3 00:02:06 1996 Oleg Kiselyov (oleg@acm.org) * strsrch.scm (string-index substring? find-string-from-port?): added. Mon Jan 29 23:56:33 1996 Aubrey Jaffer * printf.scm (stdio:iprintf): Rewrote for Posix compliance (+ extensions which are both BSD and GNU). Sat Jan 27 09:55:03 1996 Aubrey Jaffer * FAQ: printf vs. format explained. * printf.scm: renamed from "stdio.scm". (require 'printf) now brings in "printf.scm". Sun Jan 14 21:00:17 1996 Aubrey Jaffer * scanf.scm: Rewrote from scratch. Mon Oct 9 22:48:58 1995 Aubrey Jaffer (jaffer@jacal) * modular.scm (modular:invertable?): added. Wed Sep 27 10:01:04 1995 Aubrey Jaffer (jaffer@jacal) * debug.scm: augmented, reorganized, and split. (print): removed. * break.scm: created. * qp.scm: created. Sun Sep 24 22:23:19 1995 Aubrey Jaffer (jaffer@jacal) * require.scm (*catalog*): test.scm removed. Sun Sep 17 21:32:02 1995 Aubrey Jaffer (jaffer@jacal) * modular.scm: rewritten so that if modulus is: positive? -- work as before (Z_modulus) zero? -- perform integer operations (Z) negative? -- perform operations using symmetric representation (Z_(1-2*modulus)) (symmetric:modulus modulus->integer modular:normalize): added. (modular:*): not completed for fixnum-only implementations. Sat Sep 9 16:53:22 1995 Aubrey Jaffer (jaffer@jacal) * slib.texi (Legacy): added for t, nil, last-pair, and identity, which are now required of all implementations. Mon Aug 28 00:42:29 1995 Aubrey Jaffer (jaffer@jacal) * require.scm (require:feature->path require:provided? require:require): cleaned up. feature->path now returns a path, whether the module is loaded or not. Sun Aug 27 11:05:19 1995 Aubrey Jaffer (jaffer@jacal) * genwrite.scm (generic-write): Fixed "obj2str" OBJECT->LIMITED-STRING non-terminating wr-lst for cases like (set-car! foo foo). * obj2str.scm (object->limited-string): uncommented. Sun Aug 20 17:10:40 1995 Stephen Adams * wttest.scm wttree.scm: Weight Balanced Trees added. Sun Aug 20 16:06:20 1995 Dave Love * tree.scm yasyn.scm collect.scm: Uppercase identifiers changed to lower case for compatability with case sensitive implementations. Sat Aug 19 21:27:55 1995 Aubrey Jaffer (jaffer@jacal) * arraymap.scm (array-copy!): added. * primes.scm (primes:primes< primes:primes>): primes:primes split into ascending and descending versions. Sun Jul 16 22:44:36 1995 Aubrey Jaffer (jaffer@jacal) * makcrc.scm (make-port-crc): added. POSIX.2 checksums. Mon Jun 12 16:20:54 1995 Aubrey Jaffer (jaffer@jacal) * synclo.scm (internal-syntactic-environment top-level-syntactic-environment): replaced call to alist-copy. * require.scm (*catalog*): 'schelog, 'primes, and 'batch added. 'prime renamed to 'factor. From: mhc@edsdrd.eds.com (Michael H Coffin) * primes.scm (primes probably-prime?): added. prime.scm renamed to factor.scm. Fri Mar 24 23:35:25 1995 Matthew McDonald * struct.scm (define-record): added field-setters. Sun Jun 11 23:36:55 1995 Aubrey Jaffer (jaffer@jacal) * batch.scm: added * Makefile (schelogfiles): SLIB schelog distribution created. Mon Apr 17 15:57:32 1995 Aubrey Jaffer (jaffer@jacal) * comlist.scm (coerce type-of): added. * debug.scm (debug:qp): with *qp-width* of 0 just `write's. * paramlst.scm (getopt->parameter-list): Now accepts long-named options. Now COERCEs according to types. Sat Apr 15 23:15:26 1995 Aubrey Jaffer (jaffer@jacal) * require.scm (require:feature->path): Returns #f instead of string if feature not in *catalog* or *modules*. Sun Mar 19 22:26:52 1995 Aubrey Jaffer (jaffer@jacal) * getopt.scm (getopt-- argc argv optstring): added wrapper for getopt which parses long-named-options. Tue Feb 28 21:12:14 1995 Aubrey Jaffer (jaffer@jacal) * paramlst.scm (parameter-list-expand expanders parms): added. Mon Feb 27 17:23:54 1995 Aubrey Jaffer (jaffer@jacal) * report.scm (dbutil:print-report): added. * comparse.scm (read-command): added. Reads from a port and returns a list of strings: the arguments (and options). Sat Feb 25 01:05:25 1995 Aubrey Jaffer (jaffer@jacal) * repl.scm (repl:repl): Added loop, conditional on CHAR-READY? being PROVIDED?, which reads through trailing white-space. Sun Feb 5 16:34:03 1995 Aubrey Jaffer (jaffer@jacal) * paramlst.scm ((make-parameter-list parameter-names)): ((fill-empty-parameters defaults parameter-list)): ((check-parameters checks parameter-list)): ((parameter-list->arglist positions arities parameter-list)): ((parameter-list-ref parameter-list i)): ((adjoin-parameters! parameter-list parameters)): Procedures for making, merging, defaulting, checking and converting `parameter lists' (named parameters). ((getopt->parameter-list argc argv optnames arities aliases)): ((getopt->arglist argc argv optnames positions arities defaults checks aliases)): Procedures for converting options and arguments processed by getopt to parameter-list or arglist form. * dbutil.scm ((make-command-server rdb command-table)): added procedure which calls commands and processes parameters. * rdms.scm ((make-relational-system base)): add-domain and delete-domain commands moved to "dbutil.scm" (create-database). Fri Feb 3 11:07:46 1995 Aubrey Jaffer (jaffer@jacal) * debug.scm (debug:tracef debug:untracef): removed (duplicates of code in "trace.scm"). (trace-all): utility to trace all defines in a file added. Thu Jan 19 00:26:14 1995 Aubrey Jaffer (jaffer@jacal) * logical.scm (logbit? logtest): added. Sun Jan 15 20:38:42 1995 Aubrey Jaffer (jaffer@jacal) * dbutil.scm (dbutil:create-database)): Added parameter description tables for "commands". * require.scm (software-type): standardize msdos -> ms-dos. Mon Jan 2 10:26:45 1995 Aubrey Jaffer (jaffer@jacal) * comlist.scm (comlist:atom?): renamed from comlist:atom. * scheme48.init (char->integer integer->char): Now use integers in the range 0 to 255. Fixed several other problems. (modulo): Worked around negative modulo bug. * Makefile (slib48): `make slib48' loads "scheme48.init", `,dump's a scheme48 image file, and creates an `slib48' shell script to invoke it. * hash.scm (hash:hash-number): no longer does inexact->exact to exacts, etc. * trnscrpt.scm (read): no longer transcripts eof-objects. From: johnm@vlibs.com (John Gerard Malecki) * priorque.scm (heap:heapify): internal defines incorrectly dependent on order-of-eval replaced with let*. Thu Dec 22 13:28:16 1994 Aubrey Jaffer (jaffer@jacal) * dbutil.scm (open-database! open-database create-database): This enhancement wraps a utility layer on `relational-database' which provides: * Automatic loading of the appropriate base-table package when opening a database. * Automatic execution of initialization commands stored in database. * Transparent execution of database commands stored in `*commands*' table in database. Wed Dec 21 22:53:57 1994 Aubrey Jaffer (jaffer@jacal) * rdms.scm (make-relational-system base): Now more careful about protecting read-only databases. Mon Dec 19 00:06:36 1994 Aubrey Jaffer (jaffer@jacal) * dbutil.scm (dbutil:define-tables): added utility which provides: Data definition from Scheme lists for any SLIB relational-database. Sat Dec 17 12:10:02 1994 Aubrey Jaffer (jaffer@jacal) * alistab.scm rdms.scm (make-getter row-eval): evaluation of `expression' fields no longer done when retrieved from base tables (which made copying of many tables impossible). * alistab.scm (write-base): rewrote to not use pretty-print. * sc3.scm: removed (only contained last-pair, t, and nil). * Template.scm scheme48.init vscm.init (last-pair t nil): added. Thu Dec 8 00:02:18 1994 Aubrey Jaffer (jaffer@jacal) * mularg.scm pp.scm ratize.scm: copyright line removed from files (still lacking terms) less than 12 lines. From: johnm@vlibs.com (John Gerard Malecki) * sort.scm (sort:sort!): long standing bug in sort! with vector argument fixed. Thu Dec 1 17:10:24 1994 Aubrey Jaffer (jaffer@jacal) * *.scm: Most missing copyright notices supplied. Sun Nov 27 23:57:41 1994 Aubrey Jaffer (jaffer@jacal) * rdms.scm (make-relational-system base): now checks field types when table is opened. Domains table now has foreign-table field. (for-each-row): ordered for-each function added. * alistab.scm (ordered-for-each-key supported-key-type?): added. Thu Oct 27 12:20:41 1994 Tom Tromey * priorque.scm: Renamed everything to conform to coding standards and updated docs. Changed names: heap-extract-max to heap-extract-max!, heap-insert to heap-insert! and heap-size to heap-length. Sat Nov 26 22:52:31 1994 Aubrey Jaffer (jaffer@jacal) * Template.scm *.init (identity): Now required; moved from "comlist.scm". * alistab.scm (alist-table): Converted to representing rows as lists. Non-row operations removed. * rdms.scm (make-relational-system base): Most individual column operations removed. Only get and get* remain. Row operations renamed. Row inserts and updates distinguished. Tue Nov 15 16:37:16 1994 Aubrey Jaffer (jaffer@jacal) * rdms.scm (make-relational-system base): Generalized database system inspired by the Relational Model. * alistab.scm (alist-table): Base table implementation suitable for small databases and testing rdms.scm. Tue Oct 25 22:36:01 1994 Aubrey Jaffer (jaffer@jacal) From: Tommy Thorn * chez.init (scheme-implementation-version): fixed (changed to "?"). (library-vicinity): The definition of library-vicinity used getenv, which was defined later. (slib:chez:quit): The definition of slib:chez:quit was illegal. Fixed. (chez:merge!): had a typo. (defmacro:load): (require 'struct) didn't work, because defmacro:load doesn't add suffix. Workaround: defmacro:load and macro:load is the same as slib:load-source. Wed Oct 19 11:44:12 1994 Aubrey Jaffer (jaffer@jacal) * require.scm time.scm cltime.scm (difftime offset-time): added to allow 'posix-time functions to work with a non-numeric type returned by (current-time). Tue Aug 2 10:44:32 1994 Aubrey Jaffer (jaffer@jacal) * repl.scm (repl:top-level repl:repl): Multiple values at top level now print nicely. Sun Jul 31 21:39:54 1994 Aubrey Jaffer (jaffer@jacal) * cltime.scm (get-decoded-time get-universal-time decode-universal-time encode-universal-time): Common-Lisp time conversion routines created. * time.scm (*timezone* tzset gmtime localtime mktime asctime ctime): Posix time conversion routines created. Mon Jul 11 14:16:44 1994 Aubrey Jaffer (jaffer@jacal) * Template.scm mitscheme.init scheme2c.init t3.init (*features*): trace added. Fri Jul 8 11:02:34 1994 Aubrey Jaffer (jaffer@jacal) * chap.scm ((chap:string did not include the expression and the expression, instead it incorrectly included the expression. (rf. R4RS, 4.2.4) (hyg:tag-lambda): the body of a lambda expression should be generated using hyg:tag-generic instead of hyg:tag-vanilla. This allows expressions within lambda to behave hygienically. (hyg:tag-let): extended to support `named let'. Sun Apr 10 00:22:04 1994 Aubrey Jaffer (jaffer@jacal) * README: INSTALLATION INSTRUCTIONS greatly improved. * Template.scm *.init: Path configurations move to top of files for easier installation. * FAQ: File of Frequently Asked Questions and answers added. Sat Apr 9 21:28:46 1994 Aubrey Jaffer (jaffer@jacal) * slib.texi (Vicinity): scheme-file-suffix removed. Use slib:load or slib:load-source instead. Wed Apr 6 00:55:16 1994 Aubrey Jaffer (jaffer@jacal) * require.scm (slib:report): (slib:report-version): (slib:report-locations): added to display SLIB configuration information. Mon Apr 4 08:48:37 1994 Aubrey Jaffer (jaffer@jacal) * Template.scm *.init (slib:exit): added. Fri Apr 1 14:36:46 1994 Aubrey Jaffer (jaffer@jacal) * Makefile (intro): Added idiot message for those who make. Cleaned up and reorganized Makefile. Wed Mar 30 00:28:30 1994 Aubrey Jaffer (jaffer@jacal) * Template.scm *.init ((slib:eval-load evl)): created to service all macro loads. From: whumeniu@datap.ca (Wade Humeniuk) * recobj.scm yasyn.scm: added. These implement RECORDS and YASOS using object.scm object system. Sun Mar 6 01:10:53 1994 Aubrey Jaffer (jaffer@jacal) From: barnett@armadillo.urich.edu (Lewis Barnett) * gambit.init (implementation-vicinity library-vicinity): Relative pathnames for Slib in MacGambit. From: lucier@math.purdue.edu (Brad Lucier) * random.scm (random:random random:chunks/float): fixed off-by-one and slop errors. Thu Mar 3 23:06:41 1994 Aubrey Jaffer (jaffer@jacal) From: lutzeb@cs.tu-berlin.de (Dirk Lutzebaeck) * format.scm slib.texi: Format 3.0. * format's configuration is rearranged to fit only into SLIB. All implementation dependent configurations are done in the SLIB init files * format's output routines rely on call-with-output-string now if output to a string is desired * The floating point formatting code (formatfl.scm) moved into format.scm so that there is only one source code file; this eliminates the configuration of the load path for the former formatfl.scm and the unspecified scope of the load primitive * floating point formatting doesn't use any floating point operation or procedure except number->string now; all formatting is now based solely on string, character and integer manipulations * major rewrite of the floating point formatting code; use global buffers now * ~f,~e,~g, ~$ may use also number strings as an argument * ~r, ~:r, ~@r, ~:@r roman numeral, and ordinal and cardinal English number printing added (from dorai@cs.rice.edu) * ~a has now a working `colinc' parameter * ~t tabulate directive implemented * ~/ gives a tabulator character now (was ~T in version < 2.4) * ~& fresh line directive implemented * ~@d, ~@b, ~@o and ~@x now has the CL meaning (plus sign printed) automatic prefixing of radix representation is removed * ~i prints complex numbers as ~f~@fi with passed parameters * ~:c prints control characters like emacs (eg. ^C) and 8bit characters as an octal number * ~q gives information and copyright notice on this format implementation ~:q gives format:version * case type of symbol conversion can now be forced (see format:symbol-case-conv in format.scm) * case type of the representation of internal objects can now be forced (see format:iobj-case-conv format.scm) * format error messages are now printed on the current error port if available by the implementation * format now accepts a number as a destination port; the output is then always directed to the current error port if available by the implementation * if format's destination is a string it is regarded as a format string now and output is the current output port; this is a contribution to Scheme->C to use format with the runtime system; the former semantics to append tothe destination string is given up * obj->string syntax change and speedup * tested with scm4d, Elk 2.2, MIT Scheme 7.1, Scheme->C 01Nov91 Wed Mar 2 13:16:37 1994 Aubrey Jaffer (jaffer@jacal) From: Matthias Blume * vscm.init: added. Fri Feb 18 23:51:41 1994 Aubrey Jaffer (jaffer@jacal) From: jjb@isye.gatech.edu (John Bartholdi) * macscheme.init: added. Thu Feb 17 01:19:47 1994 Aubrey Jaffer (jaffer@jacal) * ppfile.scm ((pprint-filter-file inport filter outport)): added. Useful for pre-expanding macros. Preserves top-level comments. Wed Feb 16 12:44:34 1994 Aubrey Jaffer (jaffer@jacal) From: dorai@cs.rice.edu (Dorai Sitaram) * mbe.scm: Macro by Example define-syntax using defmacro. Tue Feb 15 17:18:56 1994 Aubrey Jaffer (jaffer@jacal) From: whumeniu@datap.ca (Wade Humeniuk) * object.scm: Macroless Object System Mon Feb 14 00:48:18 1994 Aubrey Jaffer (jaffer@jacal) * defmacex.scm (defmacro:expand*): replaces "defmacro.scm". Other defmacro functions now supported in all implementations. Sun Feb 13 12:38:39 1994 Aubrey Jaffer (jaffer@jacal) * defmacro.scm (defmacro:macroexpand*): now expands quasiquotes correctly. Sat Feb 12 21:23:56 1994 Aubrey Jaffer (jaffer@jacal) * hashtab.scm ((predicate->hash pred)): moved from hash.scm. Tue Feb 8 01:07:00 1994 Aubrey Jaffer (jaffer@jacal) * Template.scm *.init (slib:load-source slib:load-compiled slib:load): support for loading compiled modules added. Dependence on SCHEME-FILE-SUFFIX removed. * require.scm (require:require): Added support for 'source and 'compiled features. Sat Feb 5 00:19:38 1994 Aubrey Jaffer (jaffer@jacal) * stdio.scm ((stdio:sprintf)): Now truncates printing if you run out of string. Fri Feb 4 00:54:14 1994 Aubrey Jaffer (jaffer@jacal) From: pk@kaulushaikara.cs.tut.fi (Kellom'ki Pertti) * (psd/primitives.scm): Here is a patch removing some problems with psd-1.1, especially when used with Scheme 48. Thanks to Jonathan Rees for poiting them out. The patch fixes two problems: references to an unused variable *psd-previous-line*, and the correct number of arguments to write-char. Fri Jan 14 00:37:19 1994 Aubrey Jaffer (jaffer@jacal) * require.scm (require:require): Now supports (feature . argument-list) associations. Sat Nov 13 22:07:54 1993 (jaffer at jacal) * slib.info (Structures): added. Bug - struct.scm and structure.scm do not implement the same macros. Mon Nov 1 22:17:01 1993 (jaffer at jacal) * array.scm (array-dimensions array-rank array-in-bounds?): added. Sat Oct 9 11:54:54 1993 (jaffer at jacal) * require.scm (*catalog* portable-scheme-debugger): support added for psd subdirectory. Tue Sep 21 11:48:26 1993 Aubrey Jaffer (jaffer at wbtree) * Makefile (lineio.scm rbtree.scm rbtest.scm scmacro.scm sc4sc3.scm scaespp.scm scaglob.scm scainit.scm scamacr.scm scaoutp.scm strcase.scm): hyphens removed from names. Mon Sep 20 00:57:29 1993 (jaffer at jacal) * arraymap.scm (array-map! array-for-each array-indexes): added. Sun Sep 19 19:20:49 1993 (jaffer at jacal) * require.scm (require:feature->path require:require *catalog*): associations of the form (symbol1 . symbol2) in *catalog* look up symbol2 whenever symbol1 is specified. Mon Sep 13 22:12:00 1993 (jaffer at jacal) From: sperber@provence.informatik.uni-tuebingen.de (Michael Sperber) * elk.init: updated to ELK version 2.1. Sat Sep 11 21:17:45 1993 (jaffer at jacal) * hashtab.scm (hash-for-each): fixed and documented (also documented alist.scm). Fri Sep 10 15:57:50 1993 (jaffer at jacal) * getopt.scm (getopt *optind* *optarg*): added. Tue Sep 7 23:57:40 1993 (jaffer at jacal) * slib1d3 released. * comlist.scm: prefixed all functions with "comlist:". Tue Aug 31 23:59:28 1993 (jaffer at jacal) * Template.scm *.init (output-port-height): added. Wed May 26 00:00:51 1993 Aubrey Jaffer (jaffer at camelot) * hashtab.scm (hash-map hash-for-each): added. * alist.scm (alist-map alist-for-each): added. Tue May 25 22:49:01 1993 Aubrey Jaffer (jaffer at camelot) * comlist.scm (delete delete-if atom): renamed as in common lisp. * comlist.scm (delete-if-not): added. * tree.scm: moved tree functions out of comlist.scm Mon May 24 10:28:22 1993 Aubrey Jaffer (jaffer at camelot) From: hanche@ams.sunysb.edu (Harald Hanche-Olsen) * modular.scm: improvements and fixed bug in modular:expt. Fri May 14 01:26:44 1993 Aubrey Jaffer (jaffer at camelot) * slib1d2 released. From: Dave Love * comlist.scm: added some tree functions. * yasos.scm collect.scm: fixed name conflicts and documentation. Tue May 11 01:22:40 1993 Aubrey Jaffer (jaffer at camelot) * eval.scm: removed because all *.init files support it. * hash.scm: made all hash functions case-insensitive. Equal inexact and exact numbers now hash to the same code. From: eigenstr@falstaff.cs.rose-hulman.edu: * slib.texi: revised. Sun May 9 01:43:11 1993 Aubrey Jaffer (jaffer at camelot) From: kend@newton.apple.com (Ken Dickey) * macwork.scm mwexpand.scm mwdenote.scm mwsynrul.scm: Macros no longer expand builtin Scheme forms. From: William Clinger * macwork.scm mwexpand.scm mwdenote.scm mwsynrul.scm: Macros that work added. Sat May 1 23:55:42 1993 Aubrey Jaffer (jaffer at montreux) * random.scm (random:random): sped up for exact arguments. Wed Apr 28 00:24:36 1993 Aubrey Jaffer (jaffer at camelot) From: lutzeb@flp.cs.tu-berlin.de (Dirk Lutzebaeck) * format.scm formatfl.scm formatst.scm slib.texi: Format 2.3. * implemented floating point support ~F,~E,~G,~$ * automatic detection if the scheme interpreter support flonums. * the representation of internal objects can be selected to be #<...> or #[...] or other forms * new/redefintion of configuration variables format:abort, format:floats, format:formatfl-path, format:iobj-pref, format:iobj-post * added string-index * added MIT Scheme 7.1 custom types * for efficiencies reasons the error continuation is only used if format:abort is not available * improved error presentation and error handling * tested with scm4b/c, Elk 2.0, MIT Scheme 7.1, Scheme->C 01Nov91, UMB Scheme 2.5/2.10 Sun Apr 25 22:40:45 1993 Aubrey Jaffer (jaffer at camelot) From: Dave Love * scheme2c.init: corrections and portability improvements. * yasos.scm collect.scm: These correct the scheme2c.init and a couple of other things as well as hiding some non-exported definitions and removing an example from collect.scm to the manual. Sat Apr 3 00:48:13 1993 Aubrey Jaffer (jaffer at camelot) From: eigenstr@cs.rose-hulman.edu (Todd R. Eigenschink) * slib.texi: created. Thu Mar 25 01:47:38 1993 Aubrey Jaffer (jaffer at camelot) From: hanche@ams.sunysb.edu (Harald Hanche-Olsen) * sca-init.scm sca-glob.scm sca-macr.scm sca-outp.scm sca-expp.scm: syntax-case macros added. Wed Mar 24 23:12:49 1993 Aubrey Jaffer (jaffer at camelot) * comlist.scm (some every notany notevery): Now accept multiple arguments. NOTANY added. Wed Mar 3 01:19:11 1993 Aubrey Jaffer (jaffer at camelot) From: "Dan Friedman" * struct.scm structst.scm: added. Tue Mar 2 00:28:00 1993 Aubrey Jaffer (jaffer at camelot) * obj2str (object->string): now handles symbols and number without going to string-port. Sun Feb 28 22:22:50 1993 Aubrey Jaffer (jaffer at camelot) * all files with Jaffer copyright: Now have explicit conditions for use and copying. Fri Feb 26 00:29:18 1993 Aubrey Jaffer (jaffer at camelot) * obj2str: redefined in terms of string ports. * pp2str: eliminated. Mon Feb 22 17:21:21 1993 Aubrey Jaffer (jaffer at camelot) From: dorai@cs.rice.edu (Dorai Sitaram) * strport.scm: string ports. From: Alan@LCS.MIT.EDU (Alan Bawden) * array.scm: functions which implement arrays. Wed Feb 17 00:18:57 1993 Aubrey Jaffer (jaffer at camelot) * repl.scm: split off from sc-macro.scm. * eval.scm *.init Template.scm (eval!): eliminated. From: dorai@cs.rice.edu (Dorai Sitaram) * defmacro.scm: added. Chez, elk, mitscheme, scheme2c, and scm support. Tue Feb 16 00:23:07 1993 Aubrey Jaffer (jaffer at camelot) * require.doc (output-port-width current-error-port tmpnam file-exists? delete-file force-output char-code-limit most-positive-fixnum slib:tab slib:form-feed error):descriptions added. * *.init (tmpnam): now supported by all. From: dorai@cs.rice.edu (Dorai Sitaram) * chez.init elk.init mitscheme.init scheme2c.init (defmacro macro? macro-expand): added. Mon Feb 15 00:51:22 1993 Aubrey Jaffer (jaffer at camelot) * Template.scm *.init (file-exists? delete-file): now defined for all implementations. Sat Feb 13 23:40:22 1993 Aubrey Jaffer (jaffer at camelot) * chez.init (slib:error): output now directed to (current-error-port). Thu Feb 11 01:23:25 1993 Aubrey Jaffer (jaffer at camelot) * withfile.scm (with-input-from-file with-output-from-file): now close file on thunk return. * *.init (current-error-port): added. Wed Feb 10 17:57:15 1993 Aubrey Jaffer (jaffer at camelot) * mitscheme.init (values dynamic-wind): added to *features*. From: mafm@cs.uwa.edu.au (Matthew MCDONALD) * mitcomp.pat: added patch file of definitions for compiling SLIB with MitScheme. Tue Feb 9 10:49:12 1993 Aubrey Jaffer (jaffer at camelot) From: jt@linus.mitre.org (F. Javier Thayer) * t3.init: additions and corrections. Mon Feb 8 20:27:18 1993 Aubrey Jaffer (jaffer at camelot) From: dorai@cs.rice.edu (Dorai Sitaram) * chez.init: added. Wed Feb 3 23:33:49 1993 Aubrey Jaffer (jaffer at camelot) * sc-macro.scm (macro:repl): now prints error message for errors. Mon Feb 1 22:22:17 1993 Aubrey Jaffer (jaffer at camelot) * logical.scm (logor): changed to logior to be compatible with common Lisp. Fri Jan 29 17:15:03 1993 Aubrey Jaffer (jaffer at camelot) From: jt@linus.mitre.org (F. Javier Thayer) * t3.init: modified so it passes most of SCM/test.scm. Sun Jan 24 00:18:13 1993 Aubrey Jaffer (jaffer at camelot) * comlist.scm (intersection): added. Wed Jan 13 19:01:11 1993 Aubrey Jaffer (jaffer at camelot) * debug.scm: (debug:qp): needed to shadow quotient. Sat Jan 9 13:44:44 1993 Aubrey Jaffer (jaffer at camelot) * rb-tree.scm: changed use of '() and NULL? to #f and NOT. * rb-tree.scm (rb-insert! rb-delete!) added ! to names. Fri Jan 8 01:17:16 1993 Aubrey Jaffer (jaffer at camelot) * rb-tree.doc: added. From: pgs@ai.mit.edu (Patrick Sobalvarro) * rb-tree.scm rbt-test.scm: code for red-black trees added. Tue Jan 5 14:57:02 1993 Aubrey Jaffer (jaffer at camelot) From: lutzeb@cs.tu-berlin.de (Dirk Lutzebaeck) * format.scm formatst.scm format.doc: version 2.2 * corrected truncation for fixed fields by negative field parameters inserted a '<' or a '>' when field length was equal to object string length * changed #[...] outputs to #<...> outputs to be conform to SCM's display and write functions * changed #[non-printable-object] output to # * ~:s and ~:a print #<...> messages in strings "#<...>" so that the output can always be processed by (read) * changed implementation dependent part: to configure for various scheme systems define the variable format:scheme-system * format:version is a variable returning the format version in a string * format:custom-types allows to use scheme system dependent predicates to identify the type of a scheme object and its proper textual representation * tested with scm4a14, Elk 2.0 Tue Dec 22 17:36:23 1992 Aubrey Jaffer (jaffer at camelot) * Template.scm *.init (char-code-limit): added. * debug.scm (qp): qp-string had bug when printing short strings when room was less than 3. * random.scm (random:size-int): now takes most-positive-fixnum into account. Wed Nov 18 22:59:34 1992 Aubrey Jaffer (jaffer at camelot) From: hanche@ams.sunysb.edu (Harald Hanche-Olsen) * randinex.scm (random:normal-vector! random:normal random:solid-sphere random:hollow-sphere): new versions fix bug. Tue Nov 17 14:00:15 1992 Aubrey Jaffer (jaffer at Ivan) * str-case.scm (string-upcase string-downcase string-capitalize string-upcase! string-downcase! string-capitalize!): moved from format.scm. Fri Nov 6 01:09:38 1992 Aubrey Jaffer (jaffer at Ivan) * require.scm (require): uses base:load instead of load. * sc-macro.scm (macro:repl): now uses dynamic-wind. Mon Oct 26 13:21:04 1992 Aubrey Jaffer (jaffer at Ivan) * comlist.scm (nthcdr last) added. Sun Oct 25 01:50:07 1992 Aubrey Jaffer (jaffer at Ivan) * line-io.scm: created Mon Oct 19 12:53:01 1992 Aubrey Jaffer (jaffer at camelot) From: dorai@cs.rice.edu * fluidlet.scm: FLUID-LET that works. Thu Oct 8 22:17:01 1992 Aubrey Jaffer (jaffer at camelot) From: Robert Goldman * mitscheme.init: improvements. Sun Oct 4 11:37:57 1992 Aubrey Jaffer (jaffer at camelot) * values.scm values.doc: Documentation rewritten and combined into values.scm Thu Oct 1 23:29:43 1992 Aubrey Jaffer (jaffer at Ivan) * sc-macro.scm sc-macro.doc: documentation improved and moved into sc-macro.doc. Mon Sep 21 12:07:13 1992 Aubrey Jaffer (jaffer at Ivan) * sc-macro.scm (macro:load): now sets and restores *load-pathname*. * eval.scm (slib:eval!): (program-vicinity) now correct during evaluation. * Template.scm, *.init: i/o-redirection changed to with-file. *features* documentation changed. From: Stephen J Bevan * t3.init: new. Fixes problems with require, substring, and <,>,<=,>= with more than 2 arguments. Fri Sep 18 00:10:57 1992 Aubrey Jaffer (jaffer at Ivan) From andrew@astro.psu.edu Wed Sep 16 17:58:21 1992 * dynamic.scm: added. From raible@nas.nasa.gov Thu Sep 17 22:28:25 1992 * fluidlet.scm: added. Sun Sep 13 23:08:46 1992 Aubrey Jaffer (jaffer at Ivan) * sc-macro.scm (macro:repl): moved (require 'debug) into syntax-error. * dynwind.scm, withfile.scm, trnscrpt.scm: created. From kend@data.rain.com Sun Sep 13 21:26:59 1992 * collect.scm: created. * oop.scm => yasos.scm: updated. * oop.doc: removed. From: Stephen J. Bevan 19920912 * elk.init: created Tue Jul 14 11:42:57 1992 Aubrey Jaffer (jaffer at Ivan) * tek41.scm tek40.scm: added. Tue Jul 7 00:55:58 1992 Aubrey Jaffer (jaffer at Ivan) * record.scm record.doc (record-sub-predicate): added. * sc-macro.scm (macro:repl): syntax-errors now return into macro:repl. * debug.scm (qp): removed (newline). Added qpn (qp with newline). Sun Jun 14 22:57:32 1992 Aubrey Jaffer (jaffer at Ivan) * slib1b8 released. Sat Jun 13 17:01:41 1992 Aubrey Jaffer (jaffer at Ivan) * alist.scm ppfile.scm: added. * hash.scm hashtab.scm scheme48.init: added. * sc-macro.scm (macro:repl): created. macro:load now uses eval:eval!. * eval.scm (eval:eval!) created and eval done in terms of it. * prime.scm (prime:prime?) fixed misplaced parenthesis. Wed May 27 16:13:17 1992 Aubrey Jaffer (jaffer at Ivan) From: "Chris Hanson" * synrul.scm (generate-match): fixed for CASE syntax. Wed May 20 00:25:40 1992 Aubrey Jaffer (jaffer at Ivan) * slib1b6 released. * Template.scm gambit.init mitscheme.init scheme2c.init: rearranged *features*. Tue May 19 22:51:28 1992 Aubrey Jaffer (jaffer at Ivan) * scmactst.scm: test cases fixed. From: "Chris Hanson" * r4syn.scm (make-r4rs-primitive-macrology): TRANSFORMER added back in. * require.scm (load): load now passes through additional arguments to *old-load*. Mon May 18 00:59:36 1992 Aubrey Jaffer (jaffer at Ivan) * mulapply.scm (apply): written. * record.scm record.doc (make-record-sub-type): added. Fri May 8 17:55:14 1992 Aubrey Jaffer (jaffer at Ivan) * process.scm: created, but not finished. From: hugh@ear.mit.edu (Hugh Secker-Walker) * comlist.scm (nreverse make-list): non-recursive versions added. * sc2.scm (1+ -1+): versions which capture +. * mularg.scm (- /): created. Wed Apr 8 00:05:30 1992 Aubrey Jaffer (jaffer at Ivan) * require.scm sc-macro.scm (catalog): Now uses macro:load if 'macro is part of catalog entry. From: Andrew Wilcox (awilcox@astro.psu.edu) * queue.scm: created. Sun Mar 15 12:23:06 1992 Aubrey Jaffer (jaffer at Ivan) * comlist.scm (notevery): fixed. Now (not (every ..)). * eval.scm (eval:eval): renamed to slib:eval. * record.scm: replaced with version from From: david carlton . I changed updater => modifier, put record-predicate into the rtd, and bummed code mercilessly. From: plogan@std.mentor.com (Patrick Logan) * sc3.scm (last-pair): changed from testing null? to pair?.