Tk is a powerful X11 graphical toolkit defined at the University of Berkeley by J.Ousterhout [#!Ouster-Tk!#]. This toolkit gives to the user high level widgets such as buttons or menu and is easily programmable. In particular, a little knowledge of X fundamentals are needed to build an application with it. Tk package rely on an interpretative language named Tcl [#!Ouster-Tcl!#]. However, dependencies between those two packages are not too intricate and replacing Tcl by an applicative language was an exciting challenge. To keep intact the Tk/Tcl pair spirit, a little applicative language was necessary. Scheme [#!SICP!#] was a good candidate to replace Tcl, because it is small, clean and well defined since it is an IEEE standard [#!IEEE-Scheme!#].
Programming with STK can be done at two distinct levels. First level is quite identical than programming Tk with Tcl, excepting several minor syntactic differences. Second level of programming uses a full object oriented system (with multi-inheritance, generic functions and a true meta object protocol). Those two levels of programming are briefly described in the two first sections. Section 4 is devoted to implementation and section 5 exposes some encountered problems when mixing Tk and Scheme.