TY - JOUR
T1 - Drscheme
T2 - A programming environment for scheme
AU - Findler, Robert Bruce
AU - Clements, John
AU - Flanagan, Cormac
AU - Flatt, Matthew
AU - Krishnamurthi, Shriram
AU - Steckler, Paul
AU - Felleisen, Matthias
PY - 2002
Y1 - 2002
N2 - DrScheme is a programming environment for Scheme. It fully integrates a graphics-enriched editor, a parser for multiple variants of Scheme, a functional read-eval-print loop, and an algebraic printer. The environment is especially useful for students, because it has a tower of syntactically restricted variants of Scheme that are designed to catch typical student mistakes and explain them in terms the students understand. The environment is also useful for professional programmers, due to its sophisticated programming tools, such as the static debugger, and its advanced language features, such as units and mixins. Beyond the ordinary programming environment tools, DrScheme provides an algebraic stepper, a context-sensitive syntax checker, and a static debugger. The stepper reduces Scheme programs to values, according to the reduction semantics of Scheme. It is useful for explaining the semantics of linguistic facilities and for studying the behavior of small programs. The syntax checker annotates programs with font and color changes based on the syntactic structure of the program. On demand, it draws arrows that point from bound to binding occurrences of identifiers. It also supports α-renaming. Finally, the static debugger provides a type inference system that explains specific inferences in terms of a value-flow graph, selectively overlaid on the program text.
AB - DrScheme is a programming environment for Scheme. It fully integrates a graphics-enriched editor, a parser for multiple variants of Scheme, a functional read-eval-print loop, and an algebraic printer. The environment is especially useful for students, because it has a tower of syntactically restricted variants of Scheme that are designed to catch typical student mistakes and explain them in terms the students understand. The environment is also useful for professional programmers, due to its sophisticated programming tools, such as the static debugger, and its advanced language features, such as units and mixins. Beyond the ordinary programming environment tools, DrScheme provides an algebraic stepper, a context-sensitive syntax checker, and a static debugger. The stepper reduces Scheme programs to values, according to the reduction semantics of Scheme. It is useful for explaining the semantics of linguistic facilities and for studying the behavior of small programs. The syntax checker annotates programs with font and color changes based on the syntactic structure of the program. On demand, it draws arrows that point from bound to binding occurrences of identifiers. It also supports α-renaming. Finally, the static debugger provides a type inference system that explains specific inferences in terms of a value-flow graph, selectively overlaid on the program text.
UR - http://www.scopus.com/inward/record.url?scp=0035994661&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0035994661&partnerID=8YFLogxK
U2 - 10.1017/s0956796801004208
DO - 10.1017/s0956796801004208
M3 - Article
AN - SCOPUS:0035994661
SN - 0956-7968
VL - 12
SP - 159
EP - 182
JO - Journal of Functional Programming
JF - Journal of Functional Programming
IS - 2
ER -