Affiliation:
1. Artificial Intelligence Laboratory, Massachussetts Institute of Technology, Cambridge, MA
2. Functional Objects, Inc., 86 Chandler Street, Somerville, MA
Abstract
The ability to extend a language with new syntactic forms is a powerful tool. A sufficiently flexible macro system allows programmers to build from a common base towards a language designed specifically for their problem domain. However, macro facilities that are integrated, capable, and at the same time simple enough to be widely used have been limited to the Lisp family of languages to date. In this paper we introduce a macro facility, called the Java Syntactic Extender (JSE), with the superior power and ease of use of Lisp macro sytems, but for Java, a language with a more conventional algebraic syntax. The design is based on the Dylan macro system, but exploits Java's compilation model to offer a full procedural macro engine. In other words, syntax expanders may be implemented in, and so use all the facilities of, the full Java language
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
16 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A pred-LL(*) Parsable Typed Higher-Order Macro System for Architecture Description Languages;Proceedings of the 22nd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences;2023-10-22
2. Rhombus: A New Spin on Macros without All the Parentheses;Proceedings of the ACM on Programming Languages;2023-10-16
3. A Survey of Metaprogramming Languages;ACM Computing Surveys;2020-11-30
4. SPL;ACM Transactions on Programming Languages and Systems;2017-03-23
5. A framework for extensible languages;ACM SIGPLAN Notices;2014-03-05