dissertation · University of Birmingham Institutional Research Archive (University of Birmingham) · 2013
Interactive Functional Programming
Cited by 7Open access
Abstract
We propose a new kind of execution environment where applications can be debugged and re-programmed while they are being used. We call our overall concept interactive programming. We develop some of the key components of interactive programming in the setting of a pure, call-by-value functional language. We illustrate our ideas via a proof-of-concept implementation called lambdaCalc, but leave several important components of the overall vision, including efficient incremental update and scaling to large programs, for future work. \n \nOur specific achievements are as follows. First, we show how to reify the execution of a program into a live document which can be interactively decomposed into both sequential steps and parallel slices. We give a novel characterisation of forward and backward dynamic slicing and show that for a fixed computation the two problems describe a Galois connection. \n \nSecond, we introduce a novel execution indexing scheme which derives execution differences from program differences. Our scheme supports the wholesale reorganisation of a computation via operations such as moves and splices. The programmer is able to see the consequences of edits on the intensional structure of the execution. Where possible, node identity is preserved, allowing an edit to be made whilst an execution is being explored and the changes to be reflected in the user's current view of the execution.
Cite this paper
Perera, R. (2013). Interactive Functional Programming. University of Birmingham Institutional Research Archive (University of Birmingham). https://doi.org/10.13140/rg.2.1.3026.9043
Perera, Roland. “Interactive Functional Programming.” University of Birmingham Institutional Research Archive (University of Birmingham), 2013, https://doi.org/10.13140/rg.2.1.3026.9043.
Perera, Roland. 2013. “Interactive Functional Programming.” University of Birmingham Institutional Research Archive (University of Birmingham). https://doi.org/10.13140/rg.2.1.3026.9043.
Perera, R. (2013) ‘Interactive Functional Programming’, University of Birmingham Institutional Research Archive (University of Birmingham). Available at: https://doi.org/10.13140/rg.2.1.3026.9043.
@phdthesis{perera2013interactive,
title = {{Interactive Functional Programming}},
author = {Perera, Roland},
school = {University of Birmingham Institutional Research Archive (University of Birmingham)},
year = {2013},
doi = {10.13140/rg.2.1.3026.9043}
}Made from the index record. Check names, capitalisation and page numbers against the paper. Need another style? AI for Research has over 10,000.