Saturday, October 29, 2005
CL-DUIM Progress
According to the library.dylan file in the 'core' directory, the following packages need to be defined (forming, I assume, the core of the DUIM functionality):
duim-utilities
duim-geometry
duim-DCs
duim-sheets
duim-graphics
duim-extended-geometry
duim-layouts
duim-gadgets
duim-frames
duim-recording
I've now transliterated all these bar one (duim-recording) into Lisp - of a form. I need to revisit what I've done and standardise on some of the approaches I've taken (for example, should the built in Lisp list and array types be used, or should new Dylan-like objects be built?) because currently some things are rather haphazard (another example - I started converting Dylan's abstract classes into Lisp standard classes (using defclass) and later decided to provide a 'define-abstract-class' macro) so half the code is one way and the other half the other way.
The notable thing missing currently is any back-end code; once what I have has been kicked into shape a little more I'm going to crack on and get something working with Cocoa (hopefully). Then I need to go back and add in the other things I'm missing; recording, presentations, graph, menu and table formatting, support for images, and the 'panes' support (the latter possibly needing to be expedited, I'm not sure yet).
I also need to revisit my automated tests which are already suffering some bit-rot.
Still a long way to go, I'm going to be busy!
My current plan of work consists of:
1) Tidy what's already converted
2) Convert vanilla-backend, and write a concrete (Cocoa) back end
3) Convert the 'extras'
4) Automated tests
5) Port DEUCE to CL (on top of DUIM, obviously)
6) Document, document, document (probably need to write some kind of document authoring tool, or just use something already available. It would be nice to be able to integrate the documentation into some kind of DUIM-based workspace though)
duim-utilities
duim-geometry
duim-DCs
duim-sheets
duim-graphics
duim-extended-geometry
duim-layouts
duim-gadgets
duim-frames
duim-recording
I've now transliterated all these bar one (duim-recording) into Lisp - of a form. I need to revisit what I've done and standardise on some of the approaches I've taken (for example, should the built in Lisp list and array types be used, or should new Dylan-like
The notable thing missing currently is any back-end code; once what I have has been kicked into shape a little more I'm going to crack on and get something working with Cocoa (hopefully). Then I need to go back and add in the other things I'm missing; recording, presentations, graph, menu and table formatting, support for images, and the 'panes' support (the latter possibly needing to be expedited, I'm not sure yet).
I also need to revisit my automated tests which are already suffering some bit-rot.
Still a long way to go, I'm going to be busy!
My current plan of work consists of:
1) Tidy what's already converted
2) Convert vanilla-backend, and write a concrete (Cocoa) back end
3) Convert the 'extras'
4) Automated tests
5) Port DEUCE to CL (on top of DUIM, obviously)
6) Document, document, document (probably need to write some kind of document authoring tool, or just use something already available. It would be nice to be able to integrate the documentation into some kind of DUIM-based workspace though)