Compilers are traditionally factorised into a number of separate phases, such as parsing, type checking, code generation, etc. However, there is another potential factorisation that has received comparatively little attention: the treatment of separate language features, such as mutable state, input/output, exceptions, concurrency and so forth. In this article we focus on the problem of modular compilation, in which the aim is to develop compilers for separate language features independently, which can then be combined as required. We summarise our progress to date, issues that have arisen, and further wor
Journal ArticleWe "unbundle" several roles of classes in existing languages, by providing a suite of...
In current aspect-oriented languages, separate compilation and modular reasoning are not possible. T...
Abstract. We describe two innovations in programming languages: mod-ularity and projectional editing...
The introduction of new features to a programming language often requires that its compiler goes to ...
In previous work, we proposed a new approach to the problem of implementing compilers in a modular m...
283 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 2001.This thesis explores the cons...
Providing proper modularity is one of the major challenges in software development. In the context o...
Compilers are among the most widely-studied pieces of software; and, modularizing these valuable art...
Programming languages and formal notations are central to computer science. A significant part of c...
This paper presents a modular and extensible style of language specification based on metacomputatio...
We report our experience in using two different languages to build the same software project. Specif...
In this paper, we review what we have learned from implementing languages for parallel and concurren...
Modularity allows the construction of complex designs from simpler, independent units that most of t...
The ability to add new features to programming languages is essential for language design experiment...
A meta-language for semantics has a high degree of modularitywhen descriptions of individual languag...
Journal ArticleWe "unbundle" several roles of classes in existing languages, by providing a suite of...
In current aspect-oriented languages, separate compilation and modular reasoning are not possible. T...
Abstract. We describe two innovations in programming languages: mod-ularity and projectional editing...
The introduction of new features to a programming language often requires that its compiler goes to ...
In previous work, we proposed a new approach to the problem of implementing compilers in a modular m...
283 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 2001.This thesis explores the cons...
Providing proper modularity is one of the major challenges in software development. In the context o...
Compilers are among the most widely-studied pieces of software; and, modularizing these valuable art...
Programming languages and formal notations are central to computer science. A significant part of c...
This paper presents a modular and extensible style of language specification based on metacomputatio...
We report our experience in using two different languages to build the same software project. Specif...
In this paper, we review what we have learned from implementing languages for parallel and concurren...
Modularity allows the construction of complex designs from simpler, independent units that most of t...
The ability to add new features to programming languages is essential for language design experiment...
A meta-language for semantics has a high degree of modularitywhen descriptions of individual languag...
Journal ArticleWe "unbundle" several roles of classes in existing languages, by providing a suite of...
In current aspect-oriented languages, separate compilation and modular reasoning are not possible. T...
Abstract. We describe two innovations in programming languages: mod-ularity and projectional editing...