Live, Rich, and Composable Programming with Engraft

要旨

Live & rich tools can support a diversity of domain-specific programming tasks, from visualization authoring to data wrangling. Real-world programming, however, requires performing multiple tasks in concert, calling for the use of multiple tools alongside conventional code. Programmers lack environments capable of composing live & rich tools to support these situations. To enable this composition, we contribute Engraft, a component-based API that allows live & rich tools to be embedded within larger environments like computational notebooks. Through recursive embedding of components, Engraft enables several new forms of composition: not only embedding tools inside environments, but also embedding environments within each other and embedding tools and environments in the outside world, including conventional codebases. We demonstrate Engraft with examples from diverse domains, including web-application development, command-line scripting, and physics education. By providing composability, Engraft can help cultivate a cycle of use and innovation in live & rich programming.

著者
Joshua Horowitz
University of Washington, Seattle, Washington, United States
Jeffrey Heer
University of Washington, Seattle, Washington, United States
論文URL

https://doi.org/10.1145/3586183.3606733

動画

会議: UIST 2023

ACM Symposium on User Interface Software and Technology

セッション: Code Craftsmanship: Programming Support Tools

Gold Room
7 件の発表
2023-11-01 01:00:00
2023-11-01 02:20:00