First Class Copy & Paste
Author(s)
Edwards, Jonathan
DownloadMIT-CSAIL-TR-2006-037.pdf (595.7Kb)
Additional downloads
Other Contributors
Software Design
Advisor
Daniel Jackson
Metadata
Show full item recordAbstract
The Subtext project seeks to make programming fundamentally easier by altering the nature of programming languages and tools. This paper defines an operational semantics for an essential subset of the Subtext language. It also presents a fresh approach to the problems of mutable state, I/O, and concurrency.Inclusions reify copy & paste edits into persistent relationships that propagate changes from their source into their destination. Inclusions formulate a programming language in which there is no distinction between a programÂs representation and its execution. Like spreadsheets, programs are live executions within a persistent runtime, and programming is direct manipulation of these executions via a graphical user interface. There is no need to encode programs into source text.Mutation of state is effected by the computation of hypothetical recursive variants of the state, which can then be lifted into new versions of the state. Transactional concurrency is based upon queued single-threaded execution. Speculative execution of queued hypotheticals provides concurrency as a semantically transparent implementation optimization.
Date issued
2006-05-22Other identifiers
MIT-CSAIL-TR-2006-037
Series/Report no.
Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory
Keywords
prototypes, copy and paste, modularity, reactivity, transactions