
                     SCIX demonstration applications

This application is a wrapper for the currently available demonstration
programs in SCIX. SCIX is a completely object-oriented interface between
the X Window System and the programming language Scheme. It has been
implemented with the Scheme->C system developed at Digital Western
Research Laboratory in Palo Alto by Joel Bartlett.

The entire SCIX system was developed by us as the subject of our masters
thesis and has since been further revised. The project was initiated,
advised, and sponsored by Magnus Persson at Digital Equipment AB, Sweden.

The demo applications available are:

Hello World:   An X version of the traditional "Hello, world!" program.
               It pops up a window and prints "Hello, world!" in it.
               When you press any mouse button in the window the string
               "Hi!" is printed at that location. Terminate the application
               by typing ``Q'' in the window.
               If you want to run this from a SCIX interpreter, evaluate
               (demo-hello <screen>), where <screen> is the screen object
               corresponding to the screen you want to run the application
               on.

Tracker:       A simple application which tracks the pointer when it is in
               the application's window. It draws a line from the current
               origin of lines to the pointer whenever this is moved. To
               change the origin of lines, press a mouse button when at the
               desired position.
               To start from an interpreter, evaluate (demo-tracker <screen>).

Bounce:        A bouncing ball in a window.
               To start interactively, evaluate (demo-bounce <width> <height>
               <screen>), <width> and <height> are the initial sizes of the
               window in pixels.

Battleships:   A version of the two-player board game. When started from
               this application launcher, it pops up both player's boards
               on the same screen. Click the "Rules"-button for more
               detailed rules.
               To run on two different screens, evaluate the expression
               (demo-ship <screen1> <screen2>) in a SCIX interpreter.

Fifteen:       Arrange the tiles in ascending order from 1 to 15. A tile
               is moved by clicking on it. This can only be done with
               tiles adjacent to the hole.
               From the SCIX interpreter, this is started by evaluating
               (demo-fifteen <width> <height> <screen>), where <width>
               and <height> are the number of tiles vertically and
               horizontally respectively.

Colour Wheel:  This application only works on colour screens. It displays
               a rotating wheel of colours until you click in the window.
               From the SCIX interpreter, it is started by (demo-wheel
               <size> <screen>), where <size> is the size of the window
              in pixels.

Recur...:      Launches a new instance of this example application.

Please let us know if you have any problems with this system or if you have
specific ideas on anything in it. Send all bugs and suggestions to

      scix@nada.kth.se

SCIX is not a product but we (and Magnus Persson at Digital) hope to
be able to continue to support and develop SCIX in the future. We are
particularly interested in further investigating widget design in Scheme
and the associated problems and also want to study ways to design a
development environment for Scheme using the windowing possiblities
provided by SCIX.

Hakan Huss <huss@nada.kth.se> and Johan Ihren <johani@nada.kth.se>
Department of Computing Science (NADA),
Royal Institute of Technology (KTH), Stockholm, Sweden
