[livecode] Source Code Change Propagation

From: Abraham Coetzee <abraham_at_ml.sun.ac.za>
Date: Sat, 3 Aug 2013 13:32:47 +0200

Hi everyone.
I'm a computer science masters student at Stellenbosch University, South
Africa, and am investigating live programming as part of visual thinking in
computer programming.

I am curious about the different ways employed to propagate source code
changes, in running as well as 'paused' programs (say at a breakpoint). It
would be very interesting to know which live programming/coding systems use
which approach, so that one can take a look at other, similar systems when
developing one, or design systems which are unlike any before. I am
interested not as much in 'transient'/ephemeral code, but more in
'permanent' code where the program is always linked to- and (the algorithm)
reproducible by- the final source code. Perhaps one could also say, not
transient code where the state/outcome produced that single time is the
most important (often the case when using a REPL setup), but I am thinking
more of permanent code where the final, created code is important (often
the case when using an edit-compile-run-debug cycle). Though of course both
transient and permanent programming have their place.
For instance:
*1*. When code is changed, the program might end and then simply re-execute
from the start.
*2*. A library, when changed, could just be reloaded so that the next time
it is refered to, it produces different results. (Though I think this isn't
quite 'permanent' as the program partly executed using older code and so
the current state *might* depend on what the code use to be.)
*3*. The programming language or system is designed so that state is an
entity that can be worked with - e.g. saved and again loaded when the
program is re-executed with new source code.
*4*. Some sort of dependency analysis to figure out what consequent code is
affected by a code change. Then either where in the source code to back up
to and re-execute from, or how to transform the current program so that it
is as if it executed with the new source code in the first place.
- Any others? Those are all I can think of.

I'd appreciate your input.
Thank you,
Abraham
Received on Sat Aug 03 2013 - 11:34:12 BST

This archive was generated by hypermail 2.4.0 : Sun Aug 20 2023 - 16:02:23 BST