From: Kevin R. <or...@gm...> - 2005-08-23 11:06:00
|
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. |