home/ atoms/ jitlib-proxy-live-coding-paradigm

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.

“a program is not taken as a tool that is made first to be productive later, but instead as a dynamic construction process of description and conversation”
corpus · supercollider-jitlib-overview-live-coding-with-nodeproxy-nde · chunk 1