9 pagesThis paper describes a modified form of Kohlbecker's algorithm for reliably hygienic (capture-free) macro expansion in block-structured languages, where macros are source-tos-ource transformations specified using a high-level pattern language. Unlike previous algorithms, the modified algorithm runs in linear instead of quadratic time, copies few constants, does not assume that syntactic keywords ( e.g. if) are reserved words, and allows local (scoped) macros to refer to lexical variables in a referentially transparent manner. Syntactic closures have been advanced as an alternative to hygienic macro expansion. The problem with syntactic closures is that they are inherently low-level and therefore difficult to use correctly...
Recent work proposed defining type-safe macros via interpretation into a multi-stage language. The u...
Even in the days of Lisp’s simple defmacro systems, macro developers did not have adequate debugging...
A syntax macroprocessor permits parameterized text substitutions with greater syntactic flexibility ...
Abstract. Macro expansion in current Lisp systems is naive with respect o block structure. Every mac...
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 ...
AbstractOver the past two decades, Scheme macros have evolved into a powerful API for the compiler f...
Genuine differences in the treatment of identifiers in block-structured languages and those that pro...
Over the past two decades, Scheme macros have evolved into a pow-erful API for the compiler front-en...
We present the λm-calculus, a semantics for a language of hygienic macros with a non-trivial theory....
In this paper we describe {\\it syntactic closures}. Syntactic closures address the scoping proble...
Scheme includes a simple yet powerful macro mechanism. Using macros, programmers can easily extend t...
Abstract: It is known that the essential ingredients of a Lisp-style unhygienic macro system can be ...
In interactive theorem provers (ITPs), extensible syntax is not only crucialto lower the cognitive b...
It is known that the essential ingredients of a Lisp-style unhygienic macro system can be expressed ...
Recent work proposed defining type-safe macros via interpretation into a multi-stage language. The u...
Even in the days of Lisp’s simple defmacro systems, macro developers did not have adequate debugging...
A syntax macroprocessor permits parameterized text substitutions with greater syntactic flexibility ...
Abstract. Macro expansion in current Lisp systems is naive with respect o block structure. Every mac...
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 ...
AbstractOver the past two decades, Scheme macros have evolved into a powerful API for the compiler f...
Genuine differences in the treatment of identifiers in block-structured languages and those that pro...
Over the past two decades, Scheme macros have evolved into a pow-erful API for the compiler front-en...
We present the λm-calculus, a semantics for a language of hygienic macros with a non-trivial theory....
In this paper we describe {\\it syntactic closures}. Syntactic closures address the scoping proble...
Scheme includes a simple yet powerful macro mechanism. Using macros, programmers can easily extend t...
Abstract: It is known that the essential ingredients of a Lisp-style unhygienic macro system can be ...
In interactive theorem provers (ITPs), extensible syntax is not only crucialto lower the cognitive b...
It is known that the essential ingredients of a Lisp-style unhygienic macro system can be expressed ...
Recent work proposed defining type-safe macros via interpretation into a multi-stage language. The u...
Even in the days of Lisp’s simple defmacro systems, macro developers did not have adequate debugging...
A syntax macroprocessor permits parameterized text substitutions with greater syntactic flexibility ...