Hi,
As always MillScript development is progressing, just almost always
more slowly than I'd like it to. The current set of features scheduled
for any upcoming version of MillScript are always available at the
following URL(select the corresponding version in the "group" drop
down):
https://sourceforge.net/tracker/?group_id=3D111915&atid=3D660740
The current list of features is a bit too large, so some of them will
have to move to a later version. As always, problems and irritations
arise that require a good solution before progress can be made. This
time, the main problem has been with XML and Java's
Collections(java.util).
The XML problems have been largely solved by dropping Java's built-in
parser and switching to our own Java based parser(MillScript-XML). You
might question why we don't use one of the many existing parsers -
well, most of them use a technically incompatible license, so we can't
distribute them, regardless I couldn't find any with the feature set
we require. The next version will have good XML namespace support and
this is a sticking point with SAX. SAX has a fairly substantial
problem where namespaces are concerned - it doesn't define consistent
behavior for namespace processing except in one configuration and that
configuration makes using namespaces more awkward than it needs to be.
The XML parsing library I've created attempts to address these
problems and make parsing XML more straightforward.
The Collections problems stem from how to handle attributes in the XML
parser library and an insistence that everything is mutable by
default, even when it isn't. As Spice puts the Map at the top of the
hierarchy for maps, lists, sets, etc, I'm most of the way through
writing a new Java library that follows this approach. i.e.
* A Map defines a relationship between one object(the key) and a
corresponding object(it's value)
* A List is a more specific type of map, that maps from an integer
to an object, where the integers must also be consecutive.
* A Set is a mapping from an object to a boolean, i.e. an object is
either in the set or it isn't
This alternative approach mirrors how MillScript behaves, so this
library will become the basis for all of MillScripts data structures
in the next release.
Of the other features, the ones I'd most like to see in the next version ar=
e:
* Relational chains - e.g. a < b < c or b > c =3D a
* Excel spreadsheet autoloader, with corresponding save function - so
we can load and save spreadsheets.
* HTTP support - both a built-in web server and as a servlet, so we
can experiment with MillScript in a dynamic environment
Anyway, that's it for this mini-update on the current works in
progress. I wouldn't expect the next version for another month or so,
but it is making stready progress. It's better to get it right first
time and not have to revisit it than end up with something that just
doesn't work how you expect it to.
Kev.
|