STklos version 4.0
What is STklos
STklos is an extension of STk which provides à la CLOS objets to STk. This
implementation is based on the
implementation of version 1.3 of the Tiny CLOS package defined by Gregor
Kickzales (available by ftp at parcftp.xerox.com:/pub/mop/*).
Compiling STklos
STklos is compiled during the interpreter construction. You don't have to do
something in this directory.
Simple Test of STklos
STklos needs some files to run properly. Until you have installed it in its
definitive place, you have to:
1. set your default directory to STklos
2. use the the shell script ../Src/test-stk to run the interpreter
So, you just have to type
$ cd STklos; ../Src/test-stk
To test, that everything is OK, you can try:
(let ()
(define-class A () ((a :initform 10) b))
(define inst (make A))
(slot-set! inst 'b 20)
(+ (slot-ref inst 'a) (slot-ref inst 'b)))
which should yield 30 if everything is correct.
Using STklos with the Tk toolkit
A set of classes have been defined to use Tk with object flavor. All the Tk
widgets have been wrapped in STklos. classes.The following example creates
a three buttons panel (button 1 & 2 being on top of button 3).
(require "Tk-classes")
(define f (make ))
(define b1 (make