Sickness and Stream of Conciousness
I'm feeling under the weather so pardon this rather unstructured blog posting.
In between sniffling, changing diapers, and eating too much, work is progressing nicely on the Heron interpreter. I am looking at an official Beta version (IOW a feature complete, Heron 1.0) for the end of January.
I spent a lot of time hammering out the design of the module system by picking the brains of Gilad Bracha. He officially disproves of the design, but one major reason is because the super-class of classes is fixed, and I have hard-code namespaces.
For many of us with a C++/Java/C#/Delphi background this may seem bizarre at face value, but there are some interesting languages out there which have much more flexible object-oriented systems (e.g. Smalltalk and Common Lisp).
I like being able to rely on static architectures in software though, and I think it is key to constructing extremely large and robust software. If you can't even produce a UML diagram to describe your architecture because the class relations change at run-time, well then I think it is hopeless to manage software of any significant size or complexity.
Anyway, I think the important thing that I took away from reading Gilads papers, and studying various module systems, is the fact that Heron modules can be instantiated ...