DrScheme is a programming environment for Scheme. It fully integrates a graphicsenriched 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.
|
556
|
Structure and interpretation of computer programs
– Abelson, Sussman, et al.
- 1996
|
|
204
|
The revised report on the syntactic theories of sequential control and state
– Felleisen, Hieb
- 1992
|
|
168
|
Revised report on the algorithmic language Scheme
– Kelsey, Clinger, et al.
- 1998
|
|
152
|
Units: Cool modules for HOT languages
– Flatt, Felleisen
|
|
116
|
Hygienic macro expansion
– Kohlbecker, Friedman, et al.
- 1986
|
|
99
|
Componential set-based analysis
– Flanagan, Felleisen
- 1997
|
|
97
|
On the expressive power of programming languages
– Felleisen
- 1991
|
|
70
|
The revised 4 report on the algorithmic language Scheme
– Clinger, Rees, et al.
- 1992
|
|
56
|
PLT MzScheme: Language manual
– Flatt
- 2007
|
|
54
|
Catching bugs in the web of program invariants
– Flanagan, Flatt, et al.
- 1996
|
|
52
|
Explaining type inference
– Duggan, Bent
- 1996
|
|
52
|
A programmer’s reduction semantics for classes and mixins. Formal syntax and semantics of Java, pp. 241–269. (Preliminary version appeared in proceedings of Principles of Programming Languages
– Flatt, Krishnamurthi, et al.
- 1999
|
|
45
|
Set based analysis of ML programs
– Heintze
- 1994
|
|
42
|
The Objective Caml system, documentation and user's guide," http://pauillac.inria.fr/ocaml/htmlman
– Leroy
|
|
41
|
Programming the web with high-level programming languages. European Symposium on Programming
– Graunke, Krishnamurthi, et al.
- 2001
|
|
26
|
Syntactic extensions in the programming language Lisp
– Kohlbecker
- 1986
|
|
25
|
Modeling an algebraic stepper
– Clements, Flatt, et al.
- 2001
|
|
23
|
How to Design Programs
– Felleisen, Findler, et al.
- 2001
|
|
17
|
Programming languages as operating systems (or revenge of the son of the Lisp machine
– Flatt, Findler, et al.
- 1999
|
|
16
|
Expressing structural properties as language constructs
– Krishnamurthi, Erlich, et al.
- 1999
|
|
14
|
v-CS: An extended *-calculus for Scheme
– Felleisen
- 1988
|
|
12
|
Standard ML of New Jersey compilation manager. Manual accompanying SML/NJ software
– Blume
- 1995
|
|
10
|
From macros to reusable generative programming
– Krishnamurthi, Felleisen, et al.
- 1999
|
|
10
|
A critique of Abelson and Sussman, or, why calculating is better than scheming
– Wadler
- 1987
|
|
9
|
Bridging the gap between object-oriented and logic programming
– Koschmann, Evens
- 1988
|
|
8
|
PLT MrEd: Graphical toolbox manual
– Flatt, Findler
- 1997
|
|
8
|
Understanding memory allocation of Scheme programs
– Serrano, Boehm
- 2000
|
|
7
|
an integrated development environment for the Scheme programming language
– Serrano
- 2000
|
|
4
|
EdScheme: A Modern Lisp
– Inc
- 1991
|
|
3
|
An environment for logic programming
– Francez, Goldenberg, et al.
- 1985
|
|
3
|
A Prolog environment
– Hsiang, Srivas
- 1984
|
|
3
|
A model and an implementation of a logic programming environment
– Komorowski, Omori
- 1985
|
|
3
|
Turbo Prolog revisited
– Lane
- 1988
|
|
3
|
An extended λ-calculus for Scheme
– Felleisen
- 1996
|
|
2
|
Borland C++Builder 5 developer’s guide
– Borland
- 1983
|
|
2
|
The MIT Scheme Team, & A Cast of Thousands
– Hanson
- 1993
|
|
2
|
MLWorks
– Inc
- 1996
|
|
2
|
PC Scheme User's Guide & Language Reference Manual--- Student Edition
– Instruments
- 1988
|
|
2
|
Special forms
– Pitman
- 1980
|
|
1
|
DrScheme: A Programming Environment for Scheme 23
– Bourdoncle
- 1993
|
|
1
|
Incremental 24
– Harper, Lee, et al.
- 1994
|
|
1
|
Special forms in lisp. Pages 179--187 of: Lisp conference
– Pitman
- 1980
|