Changes in 3.99
- 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).
- integrates the R5RS VALUES and CALL-WITH-VALUES
- multi-line comments have been added.
- The "-file" interpreter option is no more necessary
- Display of the prompt and of the eval result in the REPL are
now user definable.
- report-error mechanism has been enhanced a lot (work is not
- new-primitives: append!, mast-pair, C-string->string, remove-file,
rename-file, temporary-file-name, ...
- Numerous bug corrections
- Integration of the Tk8.0 toolkit
- The old inspector has been adapted to work with current release
(not completely, but sufficiently while the new version is
- Buttons, Checkbuttons and Radiobuttons can use a :variable
and :textvariable in a given environment. This environment is
given with the new :environment option.
- New metaclass: <Tk-composite-toplevel>. This is identical to
the class <Tk-composite-widget>, except that the widget lives
in its own toplevel window.
- make-image simplifies the usage of Tk images and uses a cache,
to speed-up access to already used images.
- The little square window, which used to appear as soon as STk
was launched, appears now only when the first widget is mapped
- The MOP of STklos is now very similar to the CLOS one. Here are some
of the new features:
- when a slot does not exists, the gf slot-missing is called
- when a unbound slot is read, the gf slot-unbound is called
- new generic functions slot-ref-using-class,
- When a class is redefined, the instances and methods which uses it
are redefined accordingly, as in CLOS (i.e. if you add a slot in a
class, all its -- direct or indirect -- instances will have the new
slot added dynamically.
- New kind of slot allocation: "active". An active slot is a
slot for which you can put a daemon before or after its
- Standard behavior of class slots is now identical to CLOS:
when a class-slot is inherited, it is shared with instances of
the superclass. If it is redefined, a new slot is created
- slot initializers are evaluated in the lexical environment of the
- (Tk-)virtual slots can now have an :initform option.
- Generic functions can be now traced with the standard TRACE
- Composite widgets have now a class slots which contains the
class of the object. This slot is initialized by default to
"Composite", but it can be overloaded for a particular class.
For instance labeled entries use the value "LabeledEntry" by
default. This feature can be used for initializing the X11 resource
database. for instance you can have
in your .Xdefaults file to set the default value of background of
the entry of a <Labeled-entry> widget.
- New composites 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.
- New kind of slot allocation: "active". An active slot is a slot for
which you can put a daemon before or after its reading/writing
- extended types (defined in C) are now automatically integrated in
the STklos hierarchy.
- Several new classes for displaying messages boxes
- New class <Color-box> for choosing colors.
- New <Tk-Text-inset>. This class is the now the parent class of
<Text-window> and of (the new) class <Text-image>.