[M3devel] FW: Win32/ScrollerVBTClass.m3

Olaf Wagner wagner at elegosoft.com
Mon Dec 14 12:59:50 CET 2009

Quoting Jay K <jay.krell at cornell.edu>:

> I keep trying to understand Trestle but I keep failing.
> I tried to read the comments explaining how its locking
> works and I got lost quickly.

Actually the Trestle locking was `verified' after the implementation
was finished with the Extended Statical Checker written at that time
in Modula-3, too (but reimplemented since then in Java). See
SRC report 159, for example here:


This is where all the locking level pragmas come from.

> I suspect that compares well to other GUI libraries
> in that they probably just don't do threading well.

I always thought that using threads extensively to keep the application
responding to user request was one of the strong areas of Testle.

> Easy to understand though.
> The Trestle apps are all pretty ugly and oddly behaved.
> Granted, I have no "real use" for them. I just exercise
> them a bit as test cases.
> I did notice you made the scrollbars look "nice" on Windows.
> The close box is marked "C".
> The grow box is marked "G".

I grant that making it look better would probably increase the user
acceptance. IMO there's no reason not to do that; but there hasn't been
anybody interested in working on it yet.

> Yuck.
> As I said though, the more I look into Trestle, the more I think
> it is implementing a rather complete "windows system" and not
> just a library of widgets, nor even widgets + resizing algorithms.
> Nor even just widgets + resizing + event routing.
> Like, it seems to also manage clipping, knowing what needs
> redrawing, etc.
> But I'm not sure.
> It adds up to a lot of code, is my concern.
> That is good and bad.

Yes. But it's a huge project to integrate another GUI library into M3
and make it as useful as Trestle.

Olaf Wagner -- elego Software Solutions GmbH
                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194

More information about the M3devel mailing list