Write a Blog >>
SPLASH 2017
Sun 22 - Fri 27 October 2017 Vancouver, Canada
Sun 22 Oct 2017 10:52 - 11:15 at Regency A - Session 2 Chair(s): Nada Amin

Macros specify the runtime semantics of a DSL through elaboration into lower-level language terms, and a DSL defined with macros can result in a tower of languages. The debugging support for macro-based DSLs should be defined in terms of the immediate low-level language instead of the host language. An event-oriented approach works well with macro-based DSLs where events can be integrated with macro implementation to report high-level evaluation details, and low-level events can be filtered, combined, and transformed to describe DSL events. Events can be further inspected or manipulated to construct domain-specific interfaces for debuggers. We will demonstrate three domain-specific debuggers that are built on this framework.