The benefits of module systems and lexically scoped syntactic abstraction (macro) facilities are well-established in the literature. This paper presents a system that seamlessly integrates modules and lexically scoped macros. The system is fully static, permits mutually recursive modules, and supports separate compilation. We show that more dynamic module facilities are easily implemented at the source level in the extended language supported by the system.
This dissertation provides the motivation for and evidence in favour of an approach to language exte...
Providing proper modularity is one of the major challenges in software development. In the context o...
Providing programmers the ability to construct meaningful abstractions to help manage complexity is ...
In this paper, we show how to combine a component system and a macro system. A component system sepa...
High-level programming languages have been developed to simplify the communication problem between t...
Naive program transformations can have surprising effects due to the interaction between introduced ...
Starting from B M Leavenworth's proposal for syntactic macros, we describe an extension language LE ...
"From now on, a main goal in designing a language should be to plan for growth."Guy Steele: Growing ...
Over the past two decades, Scheme macros have evolved into a pow-erful API for the compiler front-en...
“From now on, a main goal in designing a language should be to plan for growth. ” Guy Steele: Growin...
When writing computer programs, certain patterns arise over and over again. For example, programs mu...
A syntax macroprocessor permits parameterized text substitutions with greater syntactic flexibility ...
Even in the days of Lisp’s simple defmacro systems, macro developers did not have adequate debugging...
In this paper we describe {\\it syntactic closures}. Syntactic closures address the scoping proble...
AbstractWe propose an algebra of languages and transformations as a means for extending languages sy...
This dissertation provides the motivation for and evidence in favour of an approach to language exte...
Providing proper modularity is one of the major challenges in software development. In the context o...
Providing programmers the ability to construct meaningful abstractions to help manage complexity is ...
In this paper, we show how to combine a component system and a macro system. A component system sepa...
High-level programming languages have been developed to simplify the communication problem between t...
Naive program transformations can have surprising effects due to the interaction between introduced ...
Starting from B M Leavenworth's proposal for syntactic macros, we describe an extension language LE ...
"From now on, a main goal in designing a language should be to plan for growth."Guy Steele: Growing ...
Over the past two decades, Scheme macros have evolved into a pow-erful API for the compiler front-en...
“From now on, a main goal in designing a language should be to plan for growth. ” Guy Steele: Growin...
When writing computer programs, certain patterns arise over and over again. For example, programs mu...
A syntax macroprocessor permits parameterized text substitutions with greater syntactic flexibility ...
Even in the days of Lisp’s simple defmacro systems, macro developers did not have adequate debugging...
In this paper we describe {\\it syntactic closures}. Syntactic closures address the scoping proble...
AbstractWe propose an algebra of languages and transformations as a means for extending languages sy...
This dissertation provides the motivation for and evidence in favour of an approach to language exte...
Providing proper modularity is one of the major challenges in software development. In the context o...
Providing programmers the ability to construct meaningful abstractions to help manage complexity is ...