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 :
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?)
You can get information on these from
and ftp them from either
Sather Documentation Page
Sather Home Page