Introduction

STKLOS is the object oriented layer of STK. Its implementation is derived from version 1.3 of the Gregor Kickzales Tiny Clos package [#!Tiny-Clos!#]. However, it has been extended to be as close as possible to CLOS, the Common Lisp Object System[#!CLtL2!#]. Some features of STKLOS are also issued from Dylan[#!Dylan!#] or SOS[#!SOS!#].

Briefly stated, the STKLOS extension gives the user a full object oriented system with meta-classes, multiple inheritance, generic functions and multi-methods. Furthermore, the whole implementation relies on a true meta object protocol, in the spirit of the one defined for CLOS[#!AMOP!#]. This model has also been used to embody the predefined Tk widgets in a hierarchy of STKLOS classes. This set of classes permits to simplify the core Tk usage by providing homogeneous accesses to widget options and by hiding the low level details of Tk widgets, such as naming conventions. Furthermore, as expected, using of objects facilitates code reuse and definition of new widgets classes.

The purpose of this appendix is to introduce briefly the STKLOS package and in no case will it replace the STKLOS reference manual (which needs to be urgently written now ...). In particular, methods relative to the meta object protocol and access to the Tk toolkit will not be described here.