DrScheme provides a graphical user interface for editing and interactively
evaluating Scheme programs on all major graphical platforms (Windows 95/nt,
MacOs, Unix/X). The environment is especially well-suited to beginning pro
grammers because it supports a tower of Scheme subsets. Each level correspo
nds to a particular stage in a typical introductory Scheme course and imple
ments a stringent set of syntactic checks. The environment also pinpoints r
un-time exceptions in a graphical manner and implements a mostly functional
read-evalprint loop.
DrScheme's most advanced component is a powerful static debugger. It permit
s programmers to inspect programs for potential safety violations before ru
nning them. If the debugger discovers a potential problem, it explains the
problem by drawing a value-flow graph over the program text. The value-flow
graph shows how an inappropriate value may reach a program operation and t
rigger a run-time check.
The development of DrScheme in Scheme validated the strengths of Scheme, bu
t also revealed several weaknesses. To overcome the latter, the underlying
Scheme implementation was extended with a class-based object system, a lang
uage of program units, and a sophisticated GUI engine. All of these extensi
ons are available to the programmer, who can thus interactively create full
y portable, graphical applications.