The C programming language
Macro-by-example: Deriving syntactic transformations from their specifications
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Syntactic abstraction in Scheme
Lisp and Symbolic Computation
Visualizing partial evaluation
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
Extending the scope of syntactic abstraction
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Syntax macros and extended translation
Communications of the ACM
The Java syntactic extender (JSE)
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
Principles of Programming Languages
Principles of Programming Languages
Lithe: a language combining a flexible syntax and classes
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Higher-Order and Symbolic Computation
JTS: Tools for Implementing Domain-Specific Languages
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
Semantically-Sensitive Macroprocessing
Semantically-Sensitive Macroprocessing
Maya: multiple-dispatch syntax extension in Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
ACM Transactions on Internet Technology (TOIT)
Meta-programming with Concrete Object Syntax
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
When and how to develop domain-specific languages
ACM Computing Surveys (CSUR)
Better extensibility through modular syntax
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Compile-time meta-programming in a dynamically typed OO language
DLS '05 Proceedings of the 2005 symposium on Dynamic languages
Expressive programs through presentation extension
Proceedings of the 6th international conference on Aspect-oriented software development
Implementing aspect-oriented programming constructs as modular language extensions
Science of Computer Programming
The metafront system: Safe and extensible parsing and transformation
Science of Computer Programming
Domain specific language implementation via compile-time meta-programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Gel: A Generic Extensible Language
DSL '09 Proceedings of the IFIP TC 2 Working Conference on Domain-Specific Languages
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Syntactic Language Extension via an Algebra of Languages and Transformations
Electronic Notes in Theoretical Computer Science (ENTCS)
ABI compatibility through a customizable language
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
An implementation of a hygienic syntactic macro system for JavaScript: a preliminary report
Workshop on Self-Sustaining Systems
Partial preprocessing C code for variability analysis
Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems
Featherweight TEX and parser correctness
SLE'10 Proceedings of the Third international conference on Software language engineering
Growing a language environment with editor libraries
Proceedings of the 10th ACM international conference on Generative programming and component engineering
SugarJ: library-based syntactic language extensibility
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Yet another language extension scheme
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Domain-specific metamodelling languages for software language engineering
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Generalized type-based disambiguation of meta programs with concrete object syntax
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
GTTSE'05 Proceedings of the 2005 international conference on Generative and Transformational Techniques in Software Engineering
Banana Algebra: Compositional syntactic language extension
Science of Computer Programming
An object-oriented approach to language compositions for software language engineering
Journal of Systems and Software
Program slicing to understand software generators
Proceedings of the 5th International Workshop on Feature-Oriented Software Development
Hi-index | 0.00 |
"From now on, a main goal in designing a language should be to plan for growth." Guy Steele: Growing a Language, OOPSLA '98 invited talk.We present our experiences with a syntax macro language which we claim forms a general abstraction mechanism for growing (domain-specific) extensions of programming languages. Our syntax macro language is designed to guarantee type safety and termination.A concept of metamorphisms allows the arguments of a macro to be inductively defined in a meta level grammar and morphed into the host language. We also show how the metamorphisms can be made to operate simultaneously on multiple parse trees at once. The result is a highly flexible mechanism for growing new language constructs without resorting to compile-time programming. In fact, whole new languages can be defined at surprisingly low cost.This work is fully implemented as part of the bigwig system for defining interactive Web services, but could find use in many other languages.