We propose a new variant of typed syntactic macro systems named inverse macro, which improves the expressiveness of macro systems. The inverse macro system enables to implement operators with complex side-effects, such as lazy operators and delimited continuation operators, which are beyond the power of existing macro systems. We have implemented the inverse macro system as an extension to Scala 2.11. We also show the expressiveness of the inverse macro system by comparing two versions of shift/reset, bundled in Scala 2.11 and implemented with the inverse macro system.
Mon 26 OctDisplayed time zone: Eastern Time (US & Canada) change
15:30 - 17:30
|Safer SDN programming through Arbiter|
|Contract-Based General-Purpose GPU Programming|
Alexey Kolesnichenko ETH Zurich, Chris Poskitt ETH Zurich, Switzerland, Sebastian Nanz ETH Zurich, Bertrand Meyer ETH Zurich, Innopolis University and Eiffel SoftwareLink to publication DOI Pre-print Media Attached File Attached
|Inverse macro in Scala|
|Towards Tool Support for Spreadsheet-based Domain-Specific Languages|