SuperCollider JITLib's Ndef replaces a running graph on re-eval while ProxySpace requires push before tilde-name access
JITLib provides two livecoding surfaces. Ndef(\name, {…}) creates a named proxy that replaces its running node whenever the block is re-evaluated — the ergonomic default. ProxySpace allows the short-hand ~name = {…} but requires p = ProxySpace.push(s.boot) first; using ~name before push treats it as a plain Function and .play errors. When a re-eval fails, the old graph keeps playing; fix the error and re-evaluate, watching the post window.
Examples
Ndef(\a, { SinOsc.ar(440) * 0.1 }).play — re-eval with new freq replaces live. ~a = { SinOsc.ar(220) * 0.1 } without ProxySpace.push → plain function, .play call fails.
Assessment
Contrast Ndef and ProxySpace usage: which works out-of-the-box, what setup does ProxySpace require, and what happens when either form receives a re-eval with a syntax error?