content top

from sx++ to xpath4js

Early last decade (or a century ago in tech years) I made good friends with a bloke called Kimanzi Mati ‘aka’ Kimmie who was (i’m sure still is) an inventor.  Kimmie’s invention was a programming language/runtime environment called SuperX++ and man! did it have the X factor!!  SuperX++ was an environment designed with the idea that, one day, objects could be instilled with intelligence and autonomy…growing, living and learning entities…in SuperX++ objects would remember and have the ability to write their own programs that could extend across time in the sx++ memorial. Fact is that many people who came across SuperX++ thought that it was (is) pretty special.

Some might say that such ‘flights of fantasy’ are just the basis of over active imaginations — perhaps — but even so such imaginings formed the basis of a furious exchange of emails that lasted for many months…it is true that discoursing with Kimmie was like being a small part of some thing amazing…it was like being there at the big bang of a new universe or at the very least watching as a Permutation City was being born.

I must mention that everything about sx++ was XML based.

sx++ was a GNU project and I wanted to contribute by building the infrastructure for neural pathways that objects would use to deliver packets (or fragments) of information to one another…luckily for me the technology for delivering these pathways (or xpathways :) had already been devised and all i needed to do was implement a then draft specification of the W3C… we talking about 2003/4 here i think…I can’t remember!

xpath4js: The current version of the project that I’ve just created at http://code.google.com/p/xpath4js was written in c++ and, as sad as it is to say, never reached integration stage with sx++. But that’s OK…for all its potential I think SuperX++ was too far ahead of it’s time.  Kimmie wrote the sx++ compiler at machine level and I feel that Kimmie thought that he had to do this in order to get the level of control of the environment that he required. My mind’s at the other end of the scale and think that the true ‘poweful’ environment is javaScript in the web browser or user agent (let’s not limit the form of the js sandbox). So a few months ago, I decided to convert my xpath 2.0 eval engine to java for compilation to javaScript via GWT. My aim is to take reliance for critical data access away from the underlying browser and, with full credit to the amazing efforts of the team that has built GWT, the task was pretty easy.

There is a lot to do to get this on spec, top of my list:

  • Add a few key functionalities currently missing (i.e. predicate expression evaluation and function support);
  • Update the implementation to the final W3C recommendation (I can’t even remember the exact version that this has been built to having lost my printout of the draft spec in a recent house moving event);
  • Develop a full system for xpath unit tests.

Currently it seems to run pretty good in FF…so i will be playing with the lib in the context of some general GWT development.

super x++ logo

It’s my hope that one day Kimmie will decide to bring SuperX++ back from hibernation. It is such a powerful idea.  Perhaps I can talk him into reinventing the environment into js…who knows what the future brings!!

PS: I just found the web site for Superx++: http://xplusplus.sourceforge.net/ sweet!! and Just a note superx++ has no relation to the current search results for superx++ in google.



Leave a Reply

You must be logged in to post a comment.