Saturday, January 07, 2006

 

The Devil's in the Details...

Things are starting to come together wrt DUIM. I've started to work on a back end (using LTK at the underlying toolkit) and converted over the tic-tac-toe example program from the Dylan.

No luck so far getting things to run; I've made too many arbitrary and inconsistent conversions throughout the code (mainly regarding when to use lists and when to use vectors); the Dylan DUIM code has a bunch of slots or variables bound to (for example) #(). To a Lisp programmer this looks like a vector, so these fields have been made vectors in the Lisp. Often the usage of the object demands a list however, so I'm getting a few incompatible type exceptions being thrown. The opposite situation is also a problem.

It's just a matter of time until these are all sorted out though (and hopefully not a huge amount of time either).

Also there is a distinct lack of documentation regarding what needs to be implemented for the back end. Until I sit down and go through it properly, and document (which would probably be quicker, but not as much fun as hacking things until they work) there's a good deal of trial and error. Knowing something about McCLIM back ends simplifies things somewhat, but not as much as I'd like!

The immediate TODO is currently:

1. Get the core, back end and tic-tac-toe code to a point where the tic-tac-toe demo works
2. Convert the code to a Lispier style (remove DEFINE-DYLAN-CLASS et al)
3. More unit tests
4. Convert the rest of the example programs, fix anything necessary to get them running
5. Convert the Dylan DUIM tests
6. Examples, documentation, applications
7. More back ends (I'm keen to bash out a "better" Beagle -- perhaps this will lead to improvements in the McCLIM Beagle too)

Somewhere during that list I'll make a release -- hopefully this will be "soon" but I don't feel the code is there just yet. Releasing now would be confusing I think.

I am pretty happy with the state of things as they stand, but will be happier when everything's moved on a way.

So forward with the debugging!

This page is powered by Blogger. Isn't yours?