Proceedings paper

Title:
Denicek: Computational Substrate for Document-Oriented End-User Programming
Authors:
T. Petříček, J. Edwards
Publication:
Proceedings of the 38th Annual ACM Symposium on User Interface Software and Technology
DOI:
Year:
2025
ISBN:
979-8-4007-2037-6
Link:

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.

BibTeX:
@inproceedings{petricek_denicek_2025,
    title = {{Denicek: Computational Substrate for Document-Oriented End-User Programming}},
    author = {Petricek, Tomas and Edwards, Jonathan},
    year = {2025},
    booktitle = {{Proceedings of the 38th Annual ACM Symposium on User Interface Software and Technology}},
    publisher = {Association for Computing Machinery},
    series = {{UIST '25}},
    location = {New York, NY, USA},
    doi = {10.1145/3746059.3747646},
    isbn = {979-8-4007-2037-6},
    pages = {1--19},
    url = {https://doi.org/10.1145/3746059.3747646},
    shorttitle = {Denicek},
}