WANT To Go Forward

By Andrew J. Wozniewicz
Milwaukee, June 18, 2007

I have been very busy lately (like for the last year-and-a-half) with 
completely non-related, work- and personal stuff, but I want you all to 
know that WANT is very much on my mind these days. Here is what is 
happening with it. 
I must admit that I finally got tired of editing XML. It's a wonderful way 
of transmitting structured information, and it works remarkably well as a 
human-readable medium, but in the end, it is too cumbersome to use as a 
scripting language. Part of the original attraction of XML was that it is 
"standard" and relatively easy to parse, but the size and sophistication 
of the scripts that I have to deal with is increasing, and I am starting 
to feel like I should be programming in something approaching a civilized 
programming language, not assembling XML nodes. As much as the idea of 
executable XML is appealing, I think my scripts have outgrown it. 
I looked into the current implementation of the "execution engine" in 
WANT, and came to the conclusion that it is beyond minor repairs. Let's 
just say that it has reached maturity and is ripe for a replacement. Lest 
you think that I am just idly criticizing what others have done, let me 
point out that this is precisely the sentiment that Juanca himself 
expressed in these newsgroups some time ago, indicating that - had he had 
the time or inclination to do it - he would replace the scripting engine 
with something else, and salvage all the bits and pieces that are valuable 
in WANT, of which there are many (integration with Delphi, integration 
with DUnit, lots of different libraries, etc.) At the time, I was the one 
objecting, saying that executable XML is kind of cute and 
borderline-usable. Well, it turns out that Juanca was right (again), and I 
am ready to embark on the very project he suggested, and I rejected. 
I need the ability to properly evaluate expressions inside the script, to 
call subroutines, pass parameters, and generally have the script look more 
like a programming languge than like an XML document. While at it, it 
might as well look more like a Pascal-like language, than something else. 
There are several avenues that one might want to pursue at this juncture. 
I was first thinking of maybe converting WANT into a COM-automation 
object, which would open up the way to using Windows Scripting Host - with 
its array of supported scripting languages. I think that this would be a 
very powerful combination, but I am personally somewhat allergic to 
COM/ActiveX/OLE/etc. I also realize that part of the attraction of WANT is 
that it is a single executable that doesn't even need to be "installed" 
(beyond being copied into a folder somewhere). So, I want to continue this 
tradition - no install, no cumbersome auxilliary files, DLLs, no need to 
configure anything. It Just Works. 
Another idea that I was toying with was slapping a scripting engine on top 
of WANT. There are several free implementations of various flavors of 
"Pascal Script", for example, out there, and it should be possible to 
incorporate one of them into the project. That's always an option, but I 
have ultimately decided that I am going to re-invent the wheel (hey, I am 
a programmer, after all), that is, create a scripting engine specifically 
for WANT. 
For lack of a better name, I call the new language WANTScript, an easy 
scripting language that will replace the current XML "scripts". Now, 
before you panic, I would like you to know that - if I do end up creating 
it - I will also provide a tool that translates the current XML stuff into 
WANTScript, so that you can seamlessly port your existing XML scripts. I 
think that this should be possible. 
To conclude, WANT is in for a major overhaul. The current version, which 
has somehow never reached the 1.0 release stage, is no longer going to be 
enhanced or further developed. Instead, hopefully under Juanca's watchful 
eyes, and maybe even with his help, I will be working "full-speed" (this 
is a personal, after-hours project for me, so, please, be patient) on WANT 
2.0. Wish me luck. 
P.S. There is an active discussion of the direction WANT 2.0 should take at news://news.optimax.com/sdforum.want