Light
code header

Markedly: A Cartographic Approach for Mapping eDSL Implementation Costs

Matthew P. Ahrens, Karl Cronburg, and Jeanne-Marie Musca — Siriusly PL Lab, Tufts University — META 2017 (Workshop on Meta-Programming Techniques and Reflection), co-located with SPLASH.

Embedded domain-specific languages are difficult to maintain because the relationship between a language's design features and its implementation is implicit. Adding a new feature, or extending an existing one, requires understanding which source spans implement which design decisions — information that lives only in the author's head.

Markedly takes a cartographic approach: it tracks a formal mapping between a set of design features D and a set of implementation spans I. Given that map, you can ask which implementation spans are responsible for a given feature (for auditing correctness), which features a given span implements (for impact analysis), and whether any spans are unaccounted for in the design. The goal is to make eDSL maintenance as navigable as a well-labeled map.

Materials