Preface

SWL is an object-oriented, multithreaded graphics and windowing library for Scheme and a set of tools that are being developed using this library. These tools include:

The development of SWL has been supported by the National Science Foundation under an educational infrastructure grant and by Cadence Research Systems (CRS), which develops and distributes Chez Scheme. SWL's development has been managed by Kent Dybvig in consultation with Chris Haynes, George Springer, and Dan Friedman. Oscar Waddell has taken the lead in designing and implementing the system. Other contributors to the system's development include Carl Bruggeman, Bob Burger, Erik Hilsdale, and John Zuckerman.

SWL is built on top of Chez Scheme extended with support for threads and object-oriented programming. The graphics and windowing capabilities are supported by the Tcl/Tk system, which is made available via Chez Scheme's foreign procedure interface. SWL makes heavy use of the syntax-case macro system and reader (Scheme source code lexer and parser) that annotates programs with source file information.

This document describes the base library of windowing and graphics primitives. Chapter 1 presents a set of brief tutorials that demonstrate the flavor Because SWL is object-oriented, the bulk of this document is centered in Chapters 2 and 3, which describes the various classes and associated methods supported by SWL. of SWL and the object system upon which it is based. Chapters 4 and 5 describe a set of basic syntactic extensions and procedures provided by the system. Chapter 7 contains a summary of forms, and Chapter 8 contains frequently asked questions.