Denicek: Computational Substrate for Document-Oriented End-User Programming
Tomas Petricek, Jonathan Edwards
Abstract
User-centric programming research gave rise to a variety of compelling programming experiences, including collaborative source code editing, programming by demonstration, incremental recomputation, schema change control, end-user debugging and concrete programming. Those experiences advance the state of the art of end-user programming, but they are hard to implement on the basis of established programming languages and system. We contribute Denicek, a computational substrate that simplifies the implementation of the above programming experiences. Denicek represents a program as a series of edits that construct and transform a document consisting of data and formulas. Denicek provides three operations on edit histories: edit application, merging of histories and conflict resolution. Many programming experiences can be easily implemented by composing these three operations. We present the architecture of Denicek, discuss key design considerations and elaborate the implementation of a variety of programming experiences. To evaluate the proposed substrate, we use Denicek to develop an innovative interactive data science notebook system. The case study shows that the Denicek computational substrate provides a suitable basis for the design of rich, interactive end-user programming systems.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext fbc94996-26ef-4fe5-b3f9-57d78065cb3cCited by top-tier papers1
Ask how each one uses itBuilds on17
- Wrex: A Unified Programming-by-Example Interaction for Synthesizing Readable Code for Data ScientistsIan Drosos, Titus Barik, Philip J. Guo, Robert DeLine et al.CHI 2020 · 110 citations
- On the Design of AI-powered Code Assistants for NotebooksAndrew M. McNutt, Chenglong Wang, Robert A. DeLine, Steven Mark DruckerCHI 2023 · 78 citations
- Rapido: Prototyping Interactive AR Experiences through Programming by DemonstrationGermán Leiva, Jens Emil Grønbæk, Clemens Nylandsted Klokmose, Cuong Nguyen et al.UIST 2021 · 58 citations
- Projection Boxes: On-the-fly Reconfigurable Visualization for Live ProgrammingSorin LernerCHI 2020 · 52 citations
- Filling typed holes with live GUIsCyrus Omar, David Moon, Andrew Blinn, Ian Voysey et al.PLDI 2021 · 35 citations
Related papers
- Programming By Scaffolded Demonstration with PerpendAngela Bi, Eric Rawn, Justin Lubin, Sarah E. ChasinsCHI 2026 · 2 citations
- Imprimer: Computational Notebooks for CNC MillingJasper Tran O'Leary, Gabrielle Benabdallah, Nadya PeekCHI 2023 · 31 citations
- Multiverse Notebook: Shifting Data Scientists to Time TravelersShigeyuki Sato, Tomoki NakamaruOOPSLA 2024 · 3 citations
- Varv: Reprogrammable Interactive Software as a Declarative Data StructureMarcel Borowski, Luke Murray, Rolf Bagge, Janus Bager Kristensen et al.CHI 2022 · 24 citations
- Sculpin: Direct-Manipulation Transformation of JSONJoshua Horowitz, Devamardeep Hayatpur, Haijun Xia, Jeffrey HeerUIST 2025 · 1 citation
