eTheses Repository

Interactive functional programming

Perera, Roland (2013)
Ph.D. thesis, University of Birmingham.

PDF (2062Kb)Accepted Version


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.

Our 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.

Second, 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.

Type of Work:Ph.D. thesis.
Supervisor(s):Levy, Paul
School/Faculty:Colleges (2008 onwards) > College of Engineering & Physical Sciences
Department:School of Computer Science
Subjects:QA75 Electronic computers. Computer science
Institution:University of Birmingham
ID Code:4209
This unpublished thesis/dissertation is copyright of the author and/or third parties. The intellectual property rights of the author or third parties in respect of this work are as defined by The Copyright Designs and Patents Act 1988 or as modified by any successor legislation. Any use made of information contained in this thesis/dissertation must be in accordance with that legislation and must be properly acknowledged. Further distribution or reproduction in any format is prohibited without the permission of the copyright holder.
Export Reference As : ASCII + BibTeX + Dublin Core + EndNote + HTML + METS + MODS + OpenURL Object + Reference Manager + Refer + RefWorks
Share this item :
QR Code for this page

Repository Staff Only: item control page