ACM Home Page
Please provide us with feedback. Feedback
The Java syntactic extender (JSE)
Full text PdfPdf (198 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
Tampa Bay, FL, USA
Pages: 31 - 42  
Year of Publication: 2001
ISBN:1-58113-335-9
Also published in ...
Authors
Jonthan Bachrach  Artificial Intelligence Laboratory, Massachussetts Institute of Technology, Cambridge, MA
Keith Playford  Functional Objects, Inc., 86 Chandler Street, Somerville, MA
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 39,   Citation Count: 20
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/504282.504285
What is a DOI?

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


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
Alan Bawden. Quasiquotation in Lisp. In SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation, pages 4-12. ACM, January 1999.
 
3
Braband and Schwartzbach. Growing languages with metamorphic syntax macros. available on their web site, 2000.
4
 
5
William Clinger. Hygienic macros through explicit renaming. ACM LISP Pointers, 4(4):25-28, 1991.
 
6
Daniel de Rauglaudre. Camlp4. http://caml.inria.fr/camlp4/, 2001.
 
7
8
 
9
Yuuji Ichisugi. Modular and extensible parser implementation. http://www.etl.go.jp/epp/edoc/epp-parser.pdf, 2000.
 
10
Yutaka Ishikawa, Atsushi Hori, Mitsuhisa Sato, Motohiko Matsuda, Jorg Nolte, Hiroshi Tezuka, and Hiroki Konaka. Design and implementation of metalevel architecture in C++ - MPC++ approach -. In Proceedings: Reflection'96, 1996.
 
11
Guy Lewis Steele Jr. Growing a language. Lisp and Symbolic Computation, 1998.
 
12
13
 
14
Klil Neori. Self generating java program. available on a web site, 1999.
15
 
16
 
17
A. Shalit. The Dylan Reference Manual. Addison Wesley, 1996.
 
18
Nik Shaylor. Java preprocessor (JPP). http://www.geocities.com/CapeCanaveral/Hangar/4040/jpp.html, 1996.
19
 
20
Michiaki Tatsubori. Open Java. http://www.hlla.is.tsukuba.ac.jp/mich/openjava/, 2000.
21

CITED BY  20

Collaborative Colleagues:
Jonthan Bachrach: colleagues
Keith Playford: colleagues