A Sather Gui based on Tk


This Gui is a recent effort by some of us in the Sather group based on David Bailey's 0.2 user-interface design and Mathias Ernst and Alex Cozzi's Tk interfaces. It has all the benefits of Sather (strong typing, good modularity and encapsulation etc.), with all its disadvantages - longer compile times and larger executables. Programming Tk in Sather feels very different from using the same widget set in Tcl. It has most of the standard widgets (text, canvas, label, entry etc.), though some options may not have been wrapped around, since nobody has had a need for them as yet. Some primitive widgets like scrollbars are not available directly, but text or graphics widgets have them built-in. Matthias Ernst has added a faster drawing widget (rasterTk) to avoid the overhead of tcl string conversions in the latest release. If you are interested in contributing other widgets, please contact me, and I'll try to coordinate matters : gomes@icsi.berkeley.edu .

There are some features of Tcl/Tk that I want to explicitly keep out, since I think they can be done much better in Sather ( regular expressions being one example). I'd also like to make sure that the typing remains strong, and we don't lapse back into passing strings around. Given Sather's long compile times, as many errors as possible should be found during compilation. Also, none of the stupid quoting/evaluation issues of Tcl strings should enter into Sather. I've spent vast amounts of time dealing with such problems when programming in the Browser (consider that abstract class names begin with a dollar sign and parametrized classes use braces, both of which behave in interesting ways in tcl strings).

To use the Gui, you must have Tk4.0 and Tcl7.4 (or later?) installed.
You can get information on these from http://www.sunlabs.com/research/tcl/install.html
and ftp them from either ftp://ftp.sunlabs.com/pub/tcl/
or from ftp://ftp.icsi.berkeley.edu/pub/sather/TclTk/


Sather Documentation Page Sather Home Page