DrScheme: a programming environment for Scheme

DrScheme: a programming environment for Scheme
复制标题

DrScheme:Scheme 的编程环境

DOI:
--
复制
发表时间:
2002
影响因子:
1.1
通讯作者:
M. Felleisen
M. Felleisen
中科院分区:
计算机科学2区
文献类型:
--
作者:
R. Findler;John Clements;C. Flanagan;M. Flatt;S. Krishnamurthi;P. Steckler;M. Felleisen

文献摘要

被引文献

相似文献

DrScheme是Scheme的编程环境。它完全集成了一个图形丰富的编辑器,一个用于Scheme多种变体的解析器,一个功能性的读取-评估-打印循环和一个代数打印机。该环境对学生特别有用,因为它有一个语法限制的Scheme变体塔,旨在捕捉典型的学生错误并用学生理解的术语解释它们。该环境对专业程序员也很有用,因为它有复杂的编程工具,如静态调试器,以及高级语言功能,如单元和混合。除了普通的编程环境工具,DrScheme还提供了一个代数步进器、一个上下文敏感的语法检查器和一个静态调试器。步进器根据Scheme的归约语义将Scheme程序归约为值。它对于解释语言设施的语义和研究小程序的行为是有用的。语法检查器根据程序的语法结构用字体和颜色更改来注释程序。根据需要,它绘制从绑定到绑定标识符的箭头。它还支持α重命名。最后,静态调试器提供了一个类型推断系统,它根据值流图解释特定的推断,选择性地覆盖在程序文本上。
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.