This message announces the availability of Scheme Library release slib2d6.

New in slib2d6:

  * phil-spc.scm: Added Hilbert Space-Filling Functions.

  * ncbi-dna.scm: Read and manipulate NCBI-format nucleotide
  sequences.

  * differ.scm (diff:edits): Improved speed by 27%.

  * solid.scm (scene:viewpoint): Simplified; fixed pitch.
  (solid:extract-colors): Fixed color/elevations alignment.
  (solid:extract-colors, solid:extract-elevations): Fixed row-major.
  * solid.scm (solid:basrelief): Added VRML ElevationGrid.
  (solid:bry): Added "solid FALSE" and missing alternative clause.
  * solid.scm (scene:viewpoints): Restored Up and Down views.

  * html4each.scm (html-for-each): Rewrote for full quote hair.
  Removed require string-search; uses own multi-char version.
  * html4each.scm (html-for-each): "unterminated HTML entity"
  warning infinitely looped; changed to error.
  (htm-fields): Recover from HTML errors.
  * html4each.scm (htm-fields): Parses markup string.
  (html-for-each): Handle comments as markups.
  * html4each.scm (html:read-title): Added optional LIMIT
  (word-count) argument.
  * 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 (uri->tree, make-uri): Fixed confusion of #f and "".
  * uri.scm (absolute-uri?): Added.
  * uri.scm (uri->tree): Corrected documentation.

  * db2html.scm (command:make-editable-table, command:modify-table):
  Improved null-keys treatment to work with multiple primaries.
  * db2html.scm (command:make-editable-table): foreign-choice-lists
  now opens the table.

  * slib.texi: Fixed database examples.

  * dbutil.scm (solidify-database): Fixed lock handling.
  * 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.

  * transact.scm (transact-file-replacement): Accept (string) path
  to backup file in place of backup-style symbol.

  * charplot.scm (histobins): Gracefully return when no data.

  * soundex.scm (SOUNDEX): Character lookups use ASSV and MEMV.

  * qp.scm (qp:qp): Distinguish #f and 0 values for *qp-width*.

  * array.scm (make-array): Removed legacy procedures.

  * arraymap.scm (array-for-each): Use set-car! instead of reverse.

  * fft.scm (fft:shuffle&scale): Use bit-reverse from 'logical.

  * logical.scm (logical:logcount, logical:integer-length): Made
  tail-recursive.
  (logical:logxor, logical:logior, logical:logand): Made
  tail-recursive.
  * logical.scm (logical:ones): Return 0 for 0 argument.
  (gray-code->integer): Improved running time from O(b^2) to
  O(b*log(b)).

  * 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.
  * strsrch.scm (count-newlines): Added.

  * slib.texi (Lists as sets): Updated UNION examples.
  * comlist.scm (comlist:union): Optimized for list lengths.
  * comlist.scm (comlist:list*): Make letrec top-level.

  * batch.scm (*operating-system*): gnu-win32 renamed from cygwin32.
  * batch.scm (*operating-system*): Detect MINGW32 (gcc on MS-DOS)
  as CYGWIN.

  * random.scm (random): Streamlined.
  (seed->random-state, random:chunk): Replaced BYTE with ARRAY.
  * random.scm (random): Don't get extra chunk when modu is integer
  multiple of 256.

  * slib.texi (Getopt): Fixed double dashes.
  * 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 (Plotting): Updated examples.
  * slib.texi (String Search): State search order for string-subst.
  * slib.texi (Copyrights): Fixed TeX formatting.
  * slib.texi (Rule Types): Split from Precedence Parsing Overview.
  (Precedence Parsing Overview): Describe binding power concept.

Port improvements:

  * guile.init (port?): Had argument name mismatch.
  * bigloo.init (scheme-implementation-version): *bigloo-version*
  (implementation-vicinity): *default-lib-dir*/.
  (library-vicinity): Check couple of places using DIRECTORY?.
  * DrScheme.init (defmacro): Restore for mzscheme-202.
  * DrScheme.init: Added (provide 'fluid-let).
  (call-with-input-string): Corrects bug in
  /usr/local/lib/plt/collects/slibinit/init.ss.

From Ivan Shmakov

  * queue.scm (dequeue-all!): Added.

  * logical.scm (gray-code->integer):
  * pnm.scm (pnm:array-write):
  * slib.texi (Yasos examples, Commutative Rings):
  * subarray.scm (array-trim): error -> slib:error.

From Steve VanDevender

  * strsrch.scm (substring?, substring-ci?): Rewrote, improving
  performance and fixing (substring-ci? "a" "An apple") ==> 3 bug.

From W. Garrett Mitchener

  * Makefile (catalogs): Make mzscheme new-catalog -g
  (case-sensitive) so *SLIB-VERSION* symbol upper-cased.

From L.J. Buitinck

  * comlist.scm (comlist:subset?): Added.
  * comlist.scm (comlist:union): Make letrec top-level.
  * slib.texi (Destructive list operations): Fixed SOME example.
  MAP instead of MAPCAR in nconc example.

				-=-=-

SLIB is a portable Scheme library providing compatibiliy and utility
functions for all standard Scheme implementations.

SLIB includes initialization files for Bigloo, Chez, DrScheme, ELK,
GAMBIT, MacScheme, MITScheme, PocketScheme, RScheme Scheme->C,
Scheme48, SCM, SCSH, T3.1, UMB-Scheme, and VSCM.

Documentation includes a manifest, installation instructions, and
coding guidelines for the library.  Documentation of each library
package is supplied.  SLIB Documentation is online at:

             http://swissnet.ai.mit.edu/~jaffer/SLIB.html

SLIB is available from:
 http://swissnet.ai.mit.edu/ftpdir/scm/slib2d6.zip
 http://swissnet.ai.mit.edu/ftpdir/scm/slib-2d6-1.noarch.rpm
 swissnet.ai.mit.edu:/pub/scm/slib2d6.zip
 swissnet.ai.mit.edu:/pub/scm/slib-2d6-1.noarch.rpm

SLIB-PSD is a portable debugger for Scheme (requires emacs editor):
 http://swissnet.ai.mit.edu/ftpdir/scm/slib-psd1-3.tar.gz
 swissnet.ai.mit.edu:/pub/scm/slib-psd1-3.tar.gz

SCHELOG is an embedding of Prolog in Scheme+SLIB:
 http://www.cs.rice.edu/CS/PLT/packages/schelog/

Programs for printing and viewing TexInfo documentation (which SLIB
has) come with GNU Emacs or can be obtained via ftp from:
 ftp.gnu.org:pub/gnu/texinfo/texinfo-4.0.tar.gz
