More as an exercise to improve my understanding of CLIM than anything else, I've drawn an overview of the different CLIM layers with the general groupings for functionality found in the specification.
I thought I'd post it here because
a) others might find it interesting / useful b) I have a couple of questions about it ;-)
In the diagram the stone coloured part contains 'system' level functionality. Things that aren't part of CL, but aren't really part of CLIM either.
The blue parts are areas that the back ends need to worry about. The orange parts are things that I'm not sure are in the right layer. The layers go from most specific / closest to the hardware at the top to the most abstract at the bottom. The 'arrows' (does anybody know how to draw real arrows in Appleworks?) show the relationships between the packages; more abstract packages use functionality defined in less abstract packages.
Questions:
- Can anybody think of instances where less abstract layers (in the
diagram) have dependencies on 'more' abstract layers? Specifically I'm thinking that input editing might have a dependency on command processing.
- Which layers should the orange bits be in? I'm particularly unhappy
with the position of the menu, dialog and pane functionality. I'm think that the first two should perhaps be in the ADAPTIVE layer, and the last one maybe should be in the 'McSILICA' layer.
-Duncan
Duncan Rose duncan@robotcat.demon.co.uk writes:
anything else, I've drawn an overview of the different CLIM layers with the general groupings for functionality found in the specification.
[...]
- Which layers should the orange bits be in? I'm particularly
unhappy with the position of the menu, dialog and pane functionality. I'm think that the first two should perhaps be in the ADAPTIVE layer, and the last one maybe should be in the 'McSILICA' layer.
I would move dialogue and menu facilities to application building.
Thanks for the useful resource.
Paolo