Live 2D Compositional ProgrammingIn-person
We present an approach to live programming in a two-dimensional grid of functions where all intermediate values are always visible and tangible. Arguments are chosen through selecting values, and indicated by layout, so all interaction is directly focused on the data being manipulated, while the provenance of each result is always manifest. While originally designed to work with concatenative, stack-based programs, this system enables a variety of composed pipelines and calculations to be created outside the limits of that paradigm.
By showing both functions and their argument and return values at once, the relationship between data items is clear, and between data and the transformation functions operating on it. By choosing functions to use by selecting the visible values to operate on, then picking a compatible function, it is possible to explore the possibilities available from the current data. By updating constant values, or replacing functions in situ, the programmer can cause flow-on effects that will immediately appear on screen.
This system enables live, exploratory, functional programming in an unconventional way, but exposes functionality on demand, without overwhelming the user with options. It can support both low-level primitive values and very high-level abstractions, in the same program if desired, and it enables experimental changes to be tested, extended, and reverted. Users with little programming experience are able to manipulate their data directly while creating a reproducible program for doing so. A fully working implementation is available on the web, and this essay highlights the functionality and affordances that make it tick.
Tue 6 DecDisplayed time zone: Auckland, Wellington change
15:30 - 17:00 | Talks IIILIVE at Seminar Room LG004 Chair(s): Jun Kato National Institute of Advanced Industrial Science and Technology (AIST), Sam Lau University of California at San Diego | ||
15:30 10mShort-paper | Education-aware Interactive Machine Teaching: Training Autonomous Game AgentsVirtual LIVE Chunqi Zhao , I-Chao Shen , Tsukasa Fukusato The University of Tokyo, Jun Kato National Institute of Advanced Industrial Science and Technology (AIST), Takeo Igarashi The University of Tokyo | ||
15:40 10mShort-paper | Flowie, a Collaborative Projection EditorIn-person LIVE | ||
15:50 20mTalk | Meta-programmable functional notebooks with LivebookPre-recorded LIVE José Valim Dashbit | ||
16:10 20mTalk | Live 2D Compositional ProgrammingIn-person LIVE Michael Homer Victoria University of Wellington Link to publication | ||
16:30 20mTalk | Ampleforth: A Live Literate EditorVirtual LIVE Gilad Bracha F5 |