Taking notes from the article:
- An ideal live programming system should be able to harness the live program to offer improved abilities for code creation and manipulation
- We can annotate the source code view with runtime information, such as the most recent result for a certain expression. We can also use the running program as a sort of magnifying glass, which shows us which sections of the code are relevant for the current state. This is a fundamental feature of Smalltalk-based environments 1, 2, where the user can click on a graphical object, and navigate menus to see that object’s definition. In an ideal live coding environment, code and runtime are intertwined, and the user can seamlessly jump between the two
- We choose a dataflow-based programming model, where a program is represented as a directed graph of terms. Each term has a list of inputs, and a function that specifies how to compute the output value. A function may be defined as a nested graph of more terms, or it may be a simple atomic operation. A function may also have an external effect, as long as its result value is purely computed from its inputs
from http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=6617339