[mcclim-devel] One char patch to presentation-defs [really future of McCLIM]

Duncan Rose duncan at robotcat.demon.co.uk
Fri Aug 12 18:29:20 UTC 2005


On Friday, August 12, 2005, at 07:37  am, kr wrote:

> Robert Strandh writes:
>> It is a totally different project in my opinion.  To improve the
>> current code, the owner needs to know both the spec and the code.  To
>> improve the spec, only a limited amount of knowledge of the code is
>> required.
>
> could you please say more about which particular aspects of mcclim
> need to be improved in what ways ?
>

In terms of documentation I think deviations (which probably are _not_ 
gratuitous!) from the spec, fixes for vendor compatability and general 
documentation of extensions / extensions wanted would be useful.

> what is the list of the current 5 top problems that would benefit from
> large architectural changes ?

Personally I'd like to see more structure in the organisation of the 
code (though this is quite superficial). I'd like to see a directory 
hierarchy for the code, many source files split apart (I hate long 
source files but maybe that's just me). I'd also like to see 
finer-grained packages (e.g. geometry functionality defined in 
:mcclim-geometry, drawing functionality in :mcclim-graphics, etc. 
etc.). These changes are pretty trivial.

I'd like to revisit the silica functionality; in particular, setting up 
transformations for sheets with a vertical dimension > 2^16 (which 
currently seems written specifically for CLX). I'd like some of the X 
restrictions removed from the code (I forget even where they are now, 
but I'm pretty sure there's code in the 'core' of McCLIM to restrict 
ellipses to rectilinear transforms only, for example).

I'm pretty sure there's a threading bug somewhere which doesn't show up 
under CLX due to (I think) the asynchronous nature of the X protocol 
(though this is perhaps more likely to be specific to Beagle - I need 
to do more investigation). Of course, if CLX isn't asynchronous I'm 
deluding myself...

I'd like to see a 'proper' test suite, just in case.

I'd like to see the menu code use CLIM menus (menu-choose-from-drawer 
etc.) which I don't think they do at the moment.

On the whole, I don't think many 'large architectural changes' are 
necessary. Most functionality seems to be present but there are corner 
cases that need to be investigated. Of course, more back ends might be 
good, along with extensions (going back to an earlier discussion 
regarding bezier path rendering, there's an implementation of this in 
the DUIM sources which looks like it would be quite straightforward to 
port into McCLIM). Output to PDF would be more useful to me than output 
to PostScript.

There's probably a bunch of performance improvements that could be made 
(spatial-tree based output records spring to mind).

I think generally the code just needs some polish and a LOT of 
documentation. Somebody maybe wants to pick up the QA task in earnest 
(I always planned to do this but don't really have time at the moment; 
anyway, Beagle is far from finished).

At the moment I'm looking at porting DUIM from Dylan to CL so if that 
goes anywhere there's likely to be opportunities for cross-pollination 
between McCLIM and DUIM (though how much overlap there will be in 
reality is not clear; probably not that much).

Just my tuppenny worth; all of which are on my todo-list, time 
permitting.

-Duncan


>
> (i've only started listening in on this mailing list recently...)
>
> -- 
> regards
> markus krummenacker
>
> _______________________________________________
> mcclim-devel mailing list
> mcclim-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/mcclim-devel
>




More information about the mcclim-devel mailing list