d8a00b585147c4c31d182c792925c15c433c9e58
[bpt/guile.git] / module / slib / ANNOUNCE
1 This message announces the availability of Scheme Library release slib2d1.
2
3 New in slib2d1:
4
5 + Linux RPM distribution.
6
7 + Automated generation of HTTP/HTML static and (multi-client)
8 dynamically editable tables from relational databases.
9 (HTTP server demo at http://www.foxkid.net:8143/tla/).
10
11 + Reference implementation of Metric Interchange Format:
12 "Representation of numerical values and SI units in character strings
13 for information interchanges"
14 http://swissnet.ai.mit.edu/~jaffer/MIXF.html
15
16 * Makefile (rpm): Added to dist target.
17 (mfiles): Added slib.spec.
18 * slib.spec: Added spec file to generate a .rpm file.
19 Largely based on that of Dr. Robert J. Meier
20 <robert.meier@computer.org>
21 * Makefile (docfiles): Added all the *.txi.
22 * db2html.scm (HTML editing tables): Replaced "record" with "row".
23 * http-cgi.scm (query-alist->parameter-list): Null string --> #f.
24 * coerce.scm (type-of): Removed 'null; broke (coerce '() 'string).
25 * htmlform.scm (html:meta, html:http-equiv): Added.
26 * htmlform.scm (html:meta-refresh): Added.
27 * http-cgi.scm (query-alist->parameter-list): Only separate words
28 for nary parameters.
29 * getparam.scm (getopt->parameter-list): Accomodate positional
30 arguments, both ends.
31 (getopt->parameter-list, getopt->arglist): Take optional
32 description strings.
33 * db2html.scm (command:make-editable-table): Added optional
34 arguments passed to command:modify-table.
35 (command:modify-table): Added null-keys argument; removed pkl.
36 * http-cgi.scm (http:forwarding-page): Added.
37 * htmlform.scm (html:text-area): fixed.
38 * http-cgi.scm (coerce->list): Added.
39 * paramlst.scm (check-arities): Generate warning for wrong arity.
40 * db2html.scm (command:make-editable-table): Deduce arities.
41 * comlist.scm (comlist:list-of??): Added.
42 * coerce.scm (coerce, type-of): Extracted from comlist.scm.
43 * uri.scm (uri:path->keys): Takes list of type-symbols.
44 * simetrix.scm (SI:unit-infos): bit is "bit" (not b).
45 * uri.scm (uri:decode-path, uri:path->keys): Now take path-list
46 instead of path. Fixes bug when '/' was in URI path.
47 * http-cgi.scm (make-query-alist-command-server): Renamed from
48 make-uriencoded-command-server; takes query-alist instead of
49 query-string. Diagnostics can use query-alist without recreating.
50 * db2html.scm (html:linked-row-converter): If a field has a
51 foreign-key of "*catalog-data*", then link to foreign table.
52 (catalog->html, table->linked-html): Put caption at BOTTOM.
53 * htmlform.scm (command->p-specs): Renamed from command->html
54 because it has changed so much. No longer does mapper argument.
55 * db2html.scm (command:make-editable-table): Returns editing-row
56 procedure.
57 * htmlform.scm (html:select, html:buttons, form:element,
58 form:delimited): value-list and visibles arguments combined.
59 * dbutil.scm (get-foreign-choices): extracted from command->html.
60 (make-defaulter): Added.
61 * strcase.scm (symbol-append): Added.
62 * http-cgi.scm (make-uriencoded-command-server): Only apply comval
63 if arglist worked.
64 * htmlform.scm (command->html): Big change; returns list of
65 results of application of (new) MAPPER argument.
66 (form:delimited, form:tabled): Added MAPPER procedures.
67 * db2html.scm (html:editable-row-converter): Check for
68 edit-converter being #f.
69 (command:make-editable-table): *keys*, *row-hash* NOT optional.
70 * htmlform.scm (form:element): Extracted from html:generate-form.
71 * db2html.scm (html:editable-row-converter): Added.
72 (command:modify-table): Handle case all fields are primary keys.
73 * db2html.scm (command:modify-table, command:make-editable-table):
74 (HTML editing tables): Added.
75 * htmlform.scm (form:submit): Enhanced.
76 * uri.scm (uri:decode-authority, make-uri): en/decode userinfo.
77 (uri:make-path): Added.
78 (read-anchor-string): Removed; just use paths for combined keys.
79 * slib.texi (Lists as sets): Examples had incorrect order in
80 returned lists.
81 * uri.scm (html:base, html:isindex): Added.
82 (uri->tree): Optional base-tree argument added for relative URI.
83 Brought into full conformance with RFC 2396 test cases.
84 * uri.scm (html:anchor, html:link uri->tree make-uri): Added.
85 (uri:split-fields, uri:decode-query): Moved and renamed from
86 http-cgi.scm.
87 * htmlform.scm (form:image): Added.
88 * uri.scm: Added collected URI functions from "http-cgi.scm" and
89 "db2html.scm".
90 * makcrc.scm (make-port-crc): Added CRC-16 default. Can now take
91 just generator argument.
92 * db2html.scm (html:linked-row-converter, table->linked-html,
93 table->linked-page, db->html-files, db->html-directory): more
94 evocative names.
95 (html:catalog-row-converter): Stripped down version for catalog.
96 * pp.scm (pretty-print->string): Added.
97 (pp:pretty-print): Use (output-port-width port) for width.
98 * genwrite.scm (genwrite:newline-str): abstracted.
99 * htmlform.scm (html:pre): Improved HTML formatting.
100 * http-cgi.scm (query-alist->parameter-list): Made robust for
101 unexpected option-names; and generates warning.
102 * db2html.scm: Fixed HTML per http://validator.w3.org/check.
103 * simetrix.scm (SI:conversion-factor): Negative return codes.
104 * simetrix.scm (SI:unit-infos): Added katal. Replaced bel (B)
105 with decibel (dB).
106 (SI:prefix-exponents): Added [IEC 60027-2] binary prefixes.
107 (SI:unit-infos): Added bit and byte (B).
108 * simetrix.scm (SI:unit-infos): Updated eV and u from CODATA-1998.
109 (SI:solidus): Abstracted parse functions.
110 * simetrix.scm: SI Metric Interchange Format for Scheme Added.
111 * scanf.scm (stdio:scan-and-set read-ui): Fixed dependence on LET
112 evaluation order.
113 * schmooz.texi: Split out from slib.texi.
114 * printf.scm (stdio:parse-float): Adjust so %e format prints an
115 exponent of zero for 0.0
116 * dbutil.scm (dbutil:list-table-definition): Added.
117 * db2html.scm (html:caption): Split out from html:table.
118 * rdms.scm (sync-database): Added.
119 * pnm.scm (pnm:array-write): PGMs were always being written with
120 15 for maxval.
121 * http-cgi.scm (make-urlencoded-command-server): Uses the value of
122 *suggest* if *command* is not in the query-string; if neither uses
123 literal *default*.
124 * htmlform.scm (html:form html:hidden html:checkbox html:text
125 html:text-area html:select html:buttons form:submit form:reset):
126 Procedures documented. No longer builds in <DL> tags.
127 * htmlform.scm (html:blank): Added.
128 (html:plain): Returns non-break-space for html:blank.
129 (html:select html:buttons command->html html:generate-form): Added
130 support for VISIBLE-NAME field for foreign-key domains.
131 * debug.scm (for-each-top-level-definition-in-file): define-syntax
132 is a top-level-definition too.
133 * makcrc.scm (make-port-crc): Converted to use read-byte.
134 * htmlform.scm (html:generate-form): was ignoring method.
135
136 From Ben Goetter <goetter@mazama.net>
137 * pscheme.init: Revised.
138
139 From Lars Arvestad <arve@inddama.sto.se.pnu.com>
140 * gambit.init (*features*): Gambit 3.0 provides
141 call-with-input-string and call-with-output-string.
142
143 SLIB is a portable Scheme library providing compatibiliy and utility
144 functions for all standard Scheme implementations.
145
146 SLIB includes initialization files for Bigloo, Chez, DrScheme, ELK,
147 GAMBIT, MacScheme, MITScheme, PocketScheme, RScheme Scheme->C,
148 Scheme48, SCM, SCSH, T3.1, UMB-Scheme, and VSCM.
149
150 Documentation includes a manifest, installation instructions, and
151 coding guidelines for the library. Documentation of each library
152 package is supplied. SLIB Documentation is online at:
153
154 http://swissnet.ai.mit.edu/~jaffer/SLIB.html
155
156 SLIB is available from:
157 http://swissnet.ai.mit.edu/ftpdir/scm/slib2d1.zip
158 http://swissnet.ai.mit.edu/ftpdir/scm/slib-2d1-1.noarch.rpm
159 swissnet.ai.mit.edu:/pub/scm/slib2d1.zip
160 swissnet.ai.mit.edu:/pub/scm/slib-2d1-1.noarch.rpm
161
162 SLIB-PSD is a portable debugger for Scheme (requires emacs editor):
163 http://swissnet.ai.mit.edu/ftpdir/scm/slib-psd1-3.zip
164 swissnet.ai.mit.edu:/pub/scm/slib-psd1-3.zip
165
166 SCHELOG is an embedding of Prolog in Scheme+SLIB:
167 http://www.cs.rice.edu/CS/PLT/packages/schelog/
168
169 Programs for printing and viewing TexInfo documentation (which SLIB
170 has) come with GNU Emacs or can be obtained via ftp from:
171 ftp.gnu.org:pub/gnu/texinfo/texinfo-4.0.tar.gz