MillScript is a language intended for the batch production of websites. Release
10.0.0 is a major feature release and includes, amongst others, single
inheritance classes, native regular expressions, interpolated strings, image
loaders, a brand new configuration file syntax, a brand new virtual filesystem
and of course quite a few bugfixes.
One of the most anticipated features has to be classes and methods. Although
the current implementation only has support for single inheritance, you can
define a classes slots, methods and initialisers.
The regular expressions support includes an implementation of the OpenSpice
regular expression API. The regular expressions are implemented on top of the
java.util.regex package provided with Java 1.4.
Interpolated strings allow a much neater method for inserting the results of an
expression into a string. e.g. "my name is \( name )" would substitute the
value of the variable "name" in place of the parenthesised expression.
Although the previous version had a new configuration syntax, it didn't fit
with MillScripts goals. As a result it has been replaced with a new syntax that
is actually a subset of the MillScript language itself! This means that anyone
familiar with the language will be able to understand the configuration files
with very little effort. Although the syntax has changed, all the benefits of
the previous system have been preserved.
The feature with the most potential is the new virtual filesystem. This is
being quietly introduced and has replaced all of MillScripts standard disk
based input and output. This particular feature is packaged as an independent
library for any other Java developers that are interested in using it. See
http://www.millscript.org/projects/millscript-vfs/index.html
The new image loaders allow a script to load PNG, JPEG and SVG images. The PNG
and JPEG support is provided by Java 1.4, while the SVG support is provided by
Batik.
We also have included a static resource loader, which enables you to keep a
fixed set of static resources for your site in the script inventory. You can
then copy the static resources into the script output as required.
The existing HTML templating system has been extended to support more generic
XML files. As such, two new loaders have been introduced - an XML template
loader and an XML skeleton loader. Both types continue to use the same custom
tags as the normal XHTML based templates, except MillScript expects them to be
in a given MillScript namespace. This neatly avoids clashing with any other
tags in a template with the same local name.
Despite the quite comprehensive set of new features, I expect there to be no
significant problems migrating from a previous release. Enjoy yourself.