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
xml
library provided in the Mercury
extras
distribution 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
theutils
umbrella.Several improvements are available for
qcheck2
:
I have modified the
qcheck2
library 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'qcheck2
to be an independent
library (qcheck
was also an independent
library).The program
qcpt
that generates the
module.predicate test points for a system has also
been updated to use the newqcheck2
reporting protocol.qcpt
is bundled
withltq
.
I have entirely changed the
utils
library:Although useful for a small number of repetitions,
thepeano
module 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.series
module that now also includes
loop abstraction withfunc unfold/3
and
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.