Release STk 3.99
STk is a R4RS Scheme interpreter which can access the Tk graphical
package. Concretely it can be seen as the John Ousterhout's Tk
package where the Tcl language has been replaced by Scheme.
STk also provides an efficient object oriented system called STklos.
STklos is an extensive OO system with multiple inheritance, generic
functions, multi-methods and a Meta Object Protocol).
This release runs on majors Unix versions (Linux, Solaris, OSF, ...)
Starting with Release 3.99.4, STk also runs on Microsoft Win32 systems.
Version 3.99 uses the Tk 8.0 package for the graphical part (actually Tk 8.0.3).
Features of STk
- Interpreter is conform to R4RS, with some additions of R5RS (e.g.
multiple values and dynamic-wind)
- STklos is an extensive OO system with multiple inheritance,
generic functions, multi methods, a Meta
- Interpreter can be easily extended by adding new C modules.
- All the commands defined by the Tk toolkit are available to the STk
interpreter (Tk commands are seen as a special type of objects by the
- Callbacks in a GUI are Scheme closures
- Supports Tk 8.0
- Doesn't use the Tcl interpreter when using Tk widgets
- Tk variables (such as "-textvariable") are reflected back into Scheme
as Scheme variables.
- A set of STklos classes have been defined to manipulate Tk commands
(menu, buttons, scales, canvas, canvas items) as STklos objects.
- New widgets can easily be built in Scheme by composition of existing
widgets. Some of the more common composite widgets (file-box, color chooser,
gauges, ...) are provided with the package.
Main Changes since Release 3.1.1
- A module system has been added
- Integration of the Bigloo MATCH-CASE and MATCH-LAMBDA
primitives. Furthermore, the file bigloo.stk provide
some compatibility between STk and bigloo modules.
- A simple FFI has been added. It allows to access C functions
without writing C code (works only on a limited set of
architectures for now).
- Integration of the Tk8.0 toolkit
- The MOP of STklos is now very similar to the CLOS one.
- When a class is redefined, the instances and methods which uses it
are redefined accordingly, as in CLOS.
- Generic functions can be now traced with the standard TRACE
- Some new composite widgets: Gauge, Valued-Gauge, Balloon-help, ...
- The HTML-browser has been enhanced to access now the web (i.e. you
can grab distant texts or images). The Web browser admit now applets
written in Scheme.
- Works on Windows too (need some more testing, since this is
far form perfect)
- A console mode (which is used by default on Windows, but can
be used with the -console option on Unix)
- A new editor with Scheme fontification and indentation is provided
- New kind of ports: virtual ports
- Numerous bug corrections
You can find a copy of STk at the following URL: ftp://kaolin.unice.fr/pub/STk/STk-3.99.tar.gz
STk home page
Look at http://kaolin.unice.fr/STk/STk.html
There is a mailing list for STk. To subscribe the mailing list just send
a mail at firstname.lastname@example.org with the word
"subscribe" in the "Subject:" line.
The mailing list is also archived and easily browsable at