Proceedings Article10.1145/2661136.2661145
Programming with Managed Time
Sean McDirmid,Jonathan Edwards +1 more
- 14 Oct 2014
- pp 1-10
TL;DR: Glitch is introduced as a form of managed time that replays code for an appearance of simultaneous memory updates, avoiding the need for manual order and restricting the imperative model while retaining the basic concepts of memory access and control flow.
read more
Abstract: Most languages expose the computer's ability to globally read and write memory at any time. Programmers must then choreograph control flow so all reads and writes occur in correct relative orders, which can be difficult particularly when dealing with initialization, reactivity, and concurrency. Just as many languages now manage memory to unburden us from properly freeing memory, they should also manage time to automatically order memory accesses for us in the interests of comprehensibility, correctness, and simplicity. Time management is a general language feature with a large design space that is largely unexplored; we offer this perspective to relate prior work and guide future research.We introduce Glitch as a form of managed time that replays code for an appearance of simultaneous memory updates, avoiding the need for manual order. The key to such replay reaching consistent program states is an ability to reorder and rollback updates as needed, restricting the imperative model while retaining the basic concepts of memory access and control flow. This approach can also handle code to enable live programming that incrementally revises program executions in an IDE under arbitrary code changes.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Debugging for reactive programming
Guido Salvaneschi,Mira Mezini +1 more
- 14 May 2016
TL;DR: It is shown that the reactive style requires a paradigm shift in the concepts needed for debugging, and RP Debugging, a methodology for effectively debugging reactive programs is proposed, which outperforms traditional debugging techniques.
42
The road to live programming: insights from the practice
Juraj Kubelka,Romain Robbes,Alexandre Bergel +2 more
- 27 May 2018
TL;DR: It is found that some liveness features are extensively used, and have an impact on the way developers navigate source code and objects in their work.
34
Temporal semantics for a live coding language
Samuel Aaron,Dominic Orchard,Alan F. Blackwell +2 more
- 03 Sep 2014
TL;DR: This paper describes an alternative programming approach for timing (implemented in Sonic Pi v2.0) which maintains syntactic compatibility with v1.0, yet provides accurate timing via interaction between real time and a "virtual time''.
Reactive programming with reactive variables
Christopher Schuster,Cormac Flanagan +1 more
- 14 Mar 2016
TL;DR: This paper introduces reactive variables as extension to imperative languages and presents a working prototype implementation in JavaScript based on the sweet.js macro system and a formalism for integration with general imperative languages.
9
Live programming and software evolution: questions during a programming change task
Juraj Kubelka,Romain Robbes,Alexandre Bergel +2 more
- 25 May 2019
TL;DR: The impact of a Live Programming environment on software development activities is studied and it is observed that the Live Programming facilities do have an impact on the way developers ask questions about source code and use tools to gain corresponding knowledge.
7
References
Virtual time
TL;DR: Virtual time is a new paradigm for organizing and synchronizing distributed systems which can be applied to such problems as distributed discrete event simulation and distributed database concurrency control.
2.3K
personal communication
TL;DR: This paper investigates the crossing minimization problem in multi-site-to-one-label boundary labeling, a critical issue in visualization, and proves it NP-complete under certain schemes, proposing approximation algorithms and heuristics for intractable problems.
1.1K
Functional reactive animation
Conal Elliott,Paul Hudak +1 more
- 01 Aug 1997
TL;DR: Fran (Functional Reactive Animation) is a collection of data types and functions for composing richly interactive, multimedia animations that provides them with a denotational semantics, including a proper treatment of real time, to guide reasoning and implementation.
693
SELF: the power of simplicity
David Ungar,Randall B. Smith +1 more
- 01 Jul 1991
TL;DR: Because SELF does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures, and offers new insights into object-oriented computation.
689
Related Papers (5)
Sean McDirmid
- 01 Oct 2013
Ranjan K. Sen,Pradip Peter Dey +1 more
- 01 Jan 2009
Bruno Cabral,Paulo Marques +1 more
- 01 Sep 2009