Live programming brings code to life with immediate and continuous feedback. To enjoy its benefits, programmers need powerful languages and live programming environments for understanding the effects of coding actions and developing running programs. Unfortunately, the enabling technology that powers these languages is missing. Change, a crucial enabler for explorative coding, omniscient debugging and version control, is a potential solution. In this position paper, we argue that an explicit representation of change is instrumental for how these languages are built, and that cause-and-effect relationships are vital for more precise feedback. We aim to deliver generic solutions for creating these languages. We introduce Cascade, a meta-language and framework for expressing languages with interface- and feedback-mechanisms that drive live programming. Our preliminary results show that Cascade is a promising approach that simplifies developing language back-ends.

Workshop LIVE in ACM/SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity 2022
Software Analysis and Transformation

van Rozen, R.A. (2022). Cascade: A meta-language for change, cause and effect. In ACM SIGPLAN International Symposium on SPLASH-E.