Write a Blog >>
GPCE 2016
Mon 31 October - Tue 1 November 2016 Amsterdam, Netherlands
co-located with SPLASH 2016
Mon 31 Oct 2016 10:30 - 11:00 at Zürich 1 - Generative Programming I Chair(s): Shigeru Chiba

Mainstream programming languages like Java have limited support for language extensibility. Without mechanisms for syntactic abstraction, new programming styles can only be embedded in the form of libraries, limiting expressiveness. In this paper, we present Recaf, a lightweight tool for creating Java dialects; effectively extending Java with new language constructs and user defined semantics. The Recaf compiler generically transforms designated method bodies to code that is parameterized by a semantic factory (Object Algebra), defined in plain Java. The implementation of such a factory defines the desired runtime semantics. We applied our design to produce several examples from a diverse set of programming styles and two case studies: we define i) extensions for generators, asynchronous computations and asynchronous streams and ii) a Domain-Specific Language (DSL) for Parsing Expression Grammars (PEGs), in a few lines of code.

Recaf Poster (Recaf-poster.pdf)2.25MiB

Mon 31 Oct
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:30 - 12:10
Generative Programming IGPCE at Zürich 1
Chair(s): Shigeru ChibaUniversity of Tokyo
Recaf: Java Dialects as Libraries
Aggelos BiboudisUniversity of Athens, Pablo InostrozaCWI, Tijs van der StormCWI & University of Groningen
Pre-print Media Attached File Attached
Classless Java
Yanlin WangUniversity of Hong Kong, Haoyuan Zhang, Marco ServettoVictoria University of Wellington, Bruno C. d. S. OliveiraUniversity of Hong Kong
Extensible Modeling with Managed Data in Java
Theologos ZacharopoulosCentrum Wiskunde & Informatica, Pablo InostrozaCWI, Tijs van der StormCWI & University of Groningen