Enhancing Liveness with Exemplars in the Newspeak IDE
Part of the Proceedings of the Seventh Workshop on Live Programming (LIVE 2021).
Abstract
Traditional program editing tools are separate from program evalution tools.
Exceptions are debuggers as well as REPLs and similar tools such as Smalltalk workspaces and object inspectors, or
computational notebooks. However, these are not designed for full scale program development. Most such tools do
not support evaluation of code within an abstraction, such as a function or class instance. Debuggers do allow
such evaluation, but require the user to navigate to a position in the code by manually initiating an execution
path that leads to that position.
As a result of the separation of editing from evaluation, programmers writing or reading a program must mentally
simulate its execution in order to understand it. To avoid the cognitive burden of such simulation, this paper
argues that program editing should be tightly integrated with an evaluator, so that any expression or statement
being edited can be evaluated at will. We describe the design of a development environment for the Newspeak
programming language which fulfills this requirement.