During language evolution, compiler construction is usually d along two dimensions: defining new abstract syntax tree (AST) classes, or adding new operations. In order to facilita...
Xiaoqing Wu, Suman Roychoudhury, Barrett R. Bryant...
The task of designing and implementing a compiler can be a difficult and error-prone process. In this paper, we present a new approach based on the igher-order abstract syntax and ...
This paper presents OpenJava, which is a macro system that we have developed for Java. With traditional macro systems designed for non object-oriented languages, it is difficult to...
Most debuggers are notoriously machine-dependent, but some recent research prototypes achieve varying degrees of machine-independence with novel designs. Cdb, a simple source-leve...
FreshML extends ML with constructs for declaring and ting abstract syntax trees that involve names and statically scoped binders. It is impure: name generation is an observable si...