Chez Scheme Version 1 was completed in 1984 and released in 1985. I am amazed to find myself working on it still more than two decades later. If asked in 1985 to look forward twenty years, I would have said that Chez Scheme and Scheme itself would have long since found their way into the bit bucket of history. After all, the oldest languages then were no older than Scheme is today, and many languages had come and gone. Many languages have come and gone since, but Scheme, with its roots in the circa-1960 Lisp, lives on. The user community now is larger and more diverse than ever, so with any luck, the language and implementation will last at least another two decades. It's a scary thought.

Longevity is tied to adaptability, and the current version of Chez Scheme is, to be sure, much different from its 1985 counterpart. It implements a much larger and different language and sports a much richer programming environment. The compiler is much more sophisticated, as is the storage management system. Whereas the initial version ran on one architecture and under one operating system, the system now supports a variety of different computing platforms and has supported many others at one time or another.

Version 7 extends Version 6 with support for multithreading, scripting, new platforms, nongenerative records, an expanded foreign interface, meta definitions, hash tables, environments, and new file operations. It also incorporates several new optimizations and other performance-enhancing changes. These changes and many others are described in the release notes distributed with the software.

Still, the principles behind Version 7 are the same as those behind Version 1. Our primary objectives remain reliability and efficiency. A reliable system is one that correctly implements the entire language and never crashes due to a fault in the compiler or run-time environment. An efficient system is one that exhibits uniformly good performance in all aspects of its operation, with a fast compiler that generates fast code and does so for the widest variety of programs and programming styles possible. While we have added many new features over the years, and improved the system's usability with better feedback and debugging support, we have always done so in a way that took our primary objectives into account.

I'll let our users judge the extent to which we have succeeded in doing so. In the meantime, we'll keep plugging away.

Thank you for using Chez Scheme.

Kent Dybvig
Bloomington, Indiana

R. Kent Dybvig / Chez Scheme Version 7 User's Guide
Copyright © 2005 R. Kent Dybvig
Revised July 2007 for Chez Scheme Version 7.4
Cadence Research Systems /
Cover illustration © 1998 Jean-Pierre Hébert
ISBN: 0-9667139-1-5
to order this book / about this book