Typed Image-based Programming with Structure Editing
Many beloved programming systems are image-based: self-contained worlds that persist both code and data in a single file. Examples include Smalltalk, LISP, HyperCard, Flash, and spreadsheets. Image-based programming avoids much of the complexity of modern programming technology stacks and encourages more casual and exploratory programming. However conventional file-based programming has better support for collaboration and deployment. These problems have been blamed for the limited commercial success of Smalltalk. We propose to enable collaboration in image-based programming via types and structure editing.
We focus on the problem of schema change on persistent data. We turn to static types, which paradoxically require more schema change but also provide a mechanism to express and execute those changes. To determine those changes we turn to structure editing, so that we can capture changes in type definitions with sufficient fidelity to automatically adapt the data to suit. We conjecture that typical schema changes can be handled through structure editing of static types.
That positions us to tackle collaboration with what could be called version control for structure editing. We present a theory realizing this idea, which is our main technical contribution. While we focus here on editing types, if we can extend the approach to cover the entire programming experience then it would offer a new way to collaborate in image-based programming.
Tue 19 OctDisplayed time zone: Central Time (US & Canada) change
15:40 - 17:00 | Novel Interfaces and DiscussionHATRA at Zurich E Chair(s): Jonathan Aldrich Carnegie Mellon University First, authors will present two papers, and we will have 10 minutes to discuss them. Then, we will use the remaining 40 minutes for group discussion of promising research directions. | ||
15:40 15mTalk | Typed Image-based Programming with Structure Editing HATRA Link to publication | ||
15:55 15mTalk | A New Medium for Communicating Research on Programming Languages HATRA Will Crichton Stanford University Pre-print | ||
16:10 10mTalk | Paper discussion, session 3 HATRA | ||
16:20 40mMeeting | General discussion HATRA |