Older blog entries for kai (starting at number 2)

After a short period (about two hours) of beautiful weather (considering the time of the year) it started to rain again, gray sky. So I changed plans and did some more coding on the KaiView tookit and created a simple homepage at sourceforge :*) First freetype2 and libart tests run nicely. Prototyping in C++ gets harder with each line so I guess I should switch over to TOM soon.

Since I havn't done anything on MindsEye for a while I finally decided to apply for project hosting at sourceforge.net for my GUI toolkit in the works, KaiView. Not much code, yet but maybe I'll get some useful comments or I'll just find out such a project already exists :*)

Here is the project summary I submitted:

"KaiView is a GUI toolkit/framework for writing applications using the TOM programming language. Based on a vector-oriented drawing layer using libart and freetype2 it will provide all of the features you'd expect from a project in early design stage: widget layer with subject/view seperation, forms loaded from XML files, live-updates to the GUI, Unicode support, abstract interactor classes, antialiased everything, and a lot more! (It will just take some time to build)"

I hope It'll get approved, soon ...

Hmm, meant for the "Objective-C" thread, actually, but it seems I'm still not certified, oh well...

Have you checked out the TOM programming language ? It has a syntax almost identical to Objective-C with some nice features from other languages, such as Java, Eiffel, etc.

TOM is a very dynamic compiled OO language (though not quite as "extreme" as Smalltalk) and the runtime library offers garbage collection (Very nice if used to try it "by hand" using C++). Other features:

- multivariant return types.
- nice tuple systax (e.g. "(int, int, int)")
- CLOS-like blocks
- pre/post conditions
- default parameters
- TOM classes are extensible (key feature, read the FAQ!)

The Tesla compiler (written in TOM itself) produces C, which allows inline C (or even C++, hehe) for quick hack language bindings or code that needs extra speed. The complete TOM object system/run-time is accessible from C which would allow using the TOM object system in a C project such as Gtk+, I suppose. TOM methods may be implemented in C directly if necessary. Where these features are not used, the code is fully "cross-platform". Even a TOM virtual machine has been thought about.

TOM message passing overhead is close to Objective-C, a global optimizing compiler is in the planning IIRC.

Unfortunately the Gtk/GNOME bindings don't support the latest versions fully and a recent Debian package is also lacking :^( There is currently no native CORBA binding (so the C binding has to be used.)

From my point of view TOM is a suitable "successor" to ObjC, and would be a viable alternative to many other true OO languages. I'm using C++ most of the time and with a grown community TOM would certainly become my programming language of choice. Establishing a new language without support of a big company won't be easy, as has been pointed out. The basic features are pretty easy to learn, I'd say, ideal for switching from C to TOM :O)

TOM/Tesla is GPL and LGPL.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!