Domain-specific languages (DSLs) require IDE support, just like ordinary programming languages. This paper introduces semantic deltas as a foundation for building live DSL environments to bridge the "gulf of evaluation" between DSL code and the running application. Semantic deltas are distinguished from textual or structural deltas in two ways. First, they have meaning in the application domain captured by the DSL. Second, they can be interpreted at runtime so that the behavior of the running system adapts to the evolved DSL code. Semantic deltas have the potential to support back-in-time debugging, application state persistence, version control, retroactive updates and exploring what-if scenarios. I present early experiences in building a live DSL environment and identify areas for future research.
Additional Metadata
Keywords domain-specific languages, live programming
ACM Programming Environments (acm D.2.6), Formal Definitions and Theory (acm D.3.1), Design Tools and Techniques (acm D.2.2)
THEME Software (theme 1)
Project Domain Specific Languages: A Big Future for Small Programs
Conference International Workshop on Live Programming
van der Storm, T. (2013). Semantic Deltas for Live DSL Environments.