ttn-pers-scheme 0.19 available

From:

thi

Subject:

ttn-pers-scheme 0.19 available

Date:

Sat, 19 May 2001 00:53:45 -0700

greetings earthlings,
shortly (if all goes well), the directory:
http://www.glug.org/people/ttn/software/ttn-pers-scheme/
will have 0.19 tarball and related files. NEWS excerpt follows. the
big news is the beginnings of documentation methodology (and practice),
and (perhaps un?)fortunately, complete reliance on the development
version of guile for lots of nifty new things and at least one old
friend (no longer trying to support guile-1.4).
i am also pleased that (ttn gap-buffer) actually now implements a gap
buffer and not some weird naive pseudo half-baked conceptualization
thereof (as before). of course, there's a lot of weirdness still in
there, but like HST says, when the going gets weird the weird turn pro.
professionally yours,
thi
__________________________________________
- VERSION 0.19 (released 2001/05/19)
- Benchmarking news
A traversal benchmark for (ttn gap-buffer) was added. The poor
results prompted a complete implementation redesign (interface
not changed). Traversal performance is now linear w/ buffer
size instead of being higher-powered (it was so very VERY *VERY*
inefficient we had to kill the benchmark for fear of burning out
the CPU on the dev box -- how's that for "higher-power"? ;-).
Redesign helped all operations. Insert performance is now
linear w/ length of inserted string. Delete performance is now
O(1). Intimate module (ttn edit) was also modified with
expected (though unquantified) performance gain.
- Administrative news
- Sync w/ development Guile (1.5.x)
There was previously some attempt at remaining compatible w/
guile-1.4, but that has now been abandoned, due primarily to
these features / changes available only in the Guile development
version:
- (ice-9 rdelim) required for `read-line' and friends, but
`use-modules' no longer can be conditionalized, so the old
`(or (defined? 'read-line) (use-modules (ice-9 rdelim)))'
workaround no longer works.
- new `use-modules' functionality -- actually, we have
sufficient functionality in (ttn moduleutils) (where the new
`use-modules' stuff originated :-) but `use-modules' is more
standard.
- `identity' makes a return -- this used to be provided in
(ice-9 boot-9), then someone renamed it `id' then someone
re-renamed it `identity' again; welcome back, old friend!
- (ice-9 documentation) and (ice-9 session) now work together
to allow files following the Guile Documentation Format
Version 2 to be added to the search list and searched using
"(help 'NAME)".
- (scripts read-scheme-source) is useful for bin/snarf-docs.
- README dependencies more explicit
Starting w/ this release, the Dependencies section in the README
specifies a development version (usually by date) of guile-core
that works well with ttn-pers-scheme (has been tested with "make
check").
Sorry for the extra hassle. Once the next version of Guile is
released (supposedly Real Soon Now), we will sync to that and
try to remain there.
Aside from the overall Guile dependency, we also list packages
or programs which are required for specific modules.
- Documentation methodology starting to be defined
Doing "make" now also produces ttn-procedures-docs.txt, which
follows the Guile Documentation Format Version 2, and doing
"make install" copies this file to the site directory (see
README). The goal is to have all exported procedures documented
by next release; this is approximately 59% (76/129) complete.
Procedure documentation is snarfed using bin/snarf-docs, a work
in progress (significant bits of which will probably make it
into Guile's (scripts read-scheme-source) module at some point).
So far, the recognized format is simply: contiguous comments
before a top-level form that share the same number of leading
semicolons. See bin/snarf-docs for more info.
- Makefile changes
Bug fixes: Symlink now made in ttn/testing/benchmarks and bin.
On "make dist", touch file ttn/testing/ttn/.dont-check-gpgutils
in dist dir to prevent "make check" from trying to check (ttn
gpgutils). See README for more info.
Documentation is now made and installed. See news item above.
Doing "make clean" now removes autoload and docs files.
- New program: snarf-docs
This is described above (see "Administrative news").
- New module: (ttn gpgutils)
This module exports eight procedures:
read-line-no-echo siginfo:signer
clearsign-message-interactively siginfo:time
verify-signed-message siginfo:method
siginfo:sig
siginfo:body
See the documentation for each procedure for more info.
- Changes to (ttn sanity)
New proc `know-that-ttn-procedures-docs-is-available!' finds
ttn-procedures-docs.txt using `%search-load-path' and adds the
file's absolute path to (ice-9 documentation) variable
`documentation-files'. This allows "(help 'grep)" to work, for
example. This proc is exported.
Proc `give-me-a-sane-environment-please!' now calls
`know-that-ttn-procedures-docs-is-available!'. Also, it no
longer tries to activate the readline library.
- Changes to (ttn edit)
A bug was fixed in `e:re-search-forward' that caused the "^"
regular expression operator to fail to match beginning of line.
This was due to omission of the `regexp/notbol' flag.
- Changes to (ttn pgtable)
Column definitions are now extended to have the form:
(NAME TYPE [OPTION1 OPTION2...])
Each OPTION is a string. Options are concatenated with spaces
separating them and passed directly to the back end. The old
form: (NAME . TYPE) is still recognized but is deprecated and
will no longer be supported in a future release.
Three new element extraction procedures are now available:
`def:col-name', `def:type-name' and `def:type-options'. These
DTRT w/ both the old form and the new.
[NEWS excerpt ends here]