I have eliminated my "corrections" to the Mercury
extras xml library (I had an outdated
version of the library as outlined in the
2007-03-18 news post, so
my corrections were redundant the the Mercury team's).
At the same time, I have moved my XML enhancements
into the utils library and promoted
the doug_graph module from alpha; it is
now also included in utils.
18: A new library and several improvements can be found in
the shared repository:
The
xmllibrary provided in the Mercury
extrasdistribution is out-of-date; it no
longer compiles. I have fixed the compile errors and added
several modules (to assist in XML transformations and
pretty-printing) and tests.Update 2007-03-28:
I was in error in the above item: my
copy of the xml library provided by the
Mercury team was out of date; the version
supplied with theextras
distribution by the Mercury team is
working correctly.This means my fixes to the xml library are
redundant, so I withdraw them. The extended
functionality, however, I do continue to find
(very) useful, so I am moving these
enhancements as an xml library under
theutilsumbrella.Several improvements are available for
qcheck2:
I have modified the
qcheck2library so
that it now uses the RNG protocol as proposed in the
Mercury users' maillist. I have also modified the
reporting feature to accept a polymorphic type for
module.predicate unit tests ... this improvement
'upgrades'qcheck2to be an independent
library (qcheckwas also an independent
library).The program
qcptthat generates the
module.predicate test points for a system has also
been updated to use the newqcheck2
reporting protocol.qcptis bundled
withltq.
I have entirely changed the
utilslibrary:Although useful for a small number of repetitions,
thepeanomodule becomes unweildly for
large cycles (1,000,000 is represented as 1,000,001
cons cells!). So, I have discarded it in favor of a
slightly more sophisticated counting algorithm (where
1,000,000 is represented by 7 cons cells) in the
utils.seriesmodule that now also includes
loop abstraction withfunc unfold/3and
pred svunfold/6(the latter being used when
one must also update a dependent state variable).Julian Fondrant on the Mercury Users maillist
proposed a RNG typeclass and protocol, and published a
module implementation using the tausworthe3 algorithm.
I have incorporated this module (as
utils.random) with a simplified
façade and other minor corrections.
Copyright © 2006, 2007, Logical Types, LLC.
All rights reserved.