Live Programming Environments for Reactive MVU Applications
Recent trends in user-interface programming move towards reactive programming which restricts data flow and handling of application state to achieve a more declarative and functional programming style. One example is the Model-View-Update (MVU) pattern which is an adaptation of the well-known Model-View-Controller (MVC) pattern. Customized debugging and development tools can leverage this architecture style due to its separation of application state and program code. The goal of this research is to show that omniscient debugging, live programming and programming-by-example can be integrated in a specifically designed programming environment for MVU applications with considerably less overhead and complexity compared to generic imperative applications. Omniscient debugging, live programming and programming-by-example all complement each other to support understanding of program behavior, quick experimentation and intuitive ways of specifying intended behavior.