The Java Syntactic Extender
What The ability to extend a programming language with new constructs is a valuable tool. With it, system designers can grow a language towards their problem domain, enhance productivity and ease maintenance. We present an extension to the Java language that allows Java programmers to define new syntactic constructs. The design is based on the Dylan macro system (e.g., rule-based pattern matching and hygiene), 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. This talk will include motivating examples, an implementation overview, and future challenges. The described system is implemented and working as a Java preprocessor.
Which Java preprocessor, slides from MIT AI Lab talk. Draft of OOPSLA-01 paper in pdf. Source forge project.
Why Powerful and easy to use macros for a language with a conventional syntax. Seamless integration with programming language. Best of both procedural and declarative worlds for defining macros.
Who Jonathan Bachrach and Keith Playford
How Java
When Now.
Where mit