JITLib treats a running SuperCollider program as an ongoing construction rather than a compile-then-run tool
Just-In-Time programming (JITLib) reframes coding as a ‘dynamic construction process of description and conversation.’ Instead of writing a program, running it, stopping it, editing, and re-running, the programmer modifies a running program in real time. JITLib achieves this by providing abstract placeholders called proxies — objects that hold a ‘role’ and can be assigned a new source at any moment while the program keeps running. The conceptual shift: writing code becomes an integral part of the musical or experimental practice itself, not a preparatory step before it. A common misconception is that live coding requires a specialized environment; in SC, JITLib extends the base language without replacing it.
Examples
Ndef(\bass).source = { SinOsc.ar(60) * 0.1 } // define Ndef(\bass).source = { Saw.ar(60) * 0.1 } // redefine while it runs
Assessment
Explain in one sentence why proxies let you modify a running SuperCollider program without stopping it, contrasting with the edit-compile-run loop.