|Home \ Publications \ Technical Report Page||Login|
Typeful Updates on Reactive Live Web ProgrammingAbstract:
We introduce a core reactive and imperative programming language for data-centric applications, that supports dynamic upgrades of both code and data. We use a monadic structure to control the auto- matic propagation of changes through a data-flow graph, thus allowing for imperative constructs to be safely used in a reactive context. Our approach enables the construction of rich and reactive user inter- faces, while supporting a core and uniform reconfiguration mechanism for both application logic and persistent state. This is well-suited for de- signing new development tools to support the agile deployment of web applications. We provide a flexible programming style, where applica- tions are incrementally built and maintained by sequences of verified construction operations, on live instances of software systems. We present an operational semantics and a monadic type system that ensure the soundness of change propagation through the data-flow graph, which includes a convergence result and the correctness of dynamic up- date of graph dependencies in the presence of reconfiguration actions.