;;;; main, redefined while the program is parked, and re-entered. ;;;; ;;;; Every call a dev build makes goes through an indirection cell, which is ;;;; what makes a C-c C-c redefinition reach the call sites that already ;;;; exist. The emitted C [main] used to be the one exception: it called the ;;;; Flan-level [main] by symbol, so the body the daemon re-enters on a ;;;; [rerun] was always the body [main] had at the initial build, however many ;;;; times [main] itself had been redefined. ;;;; ;;;; So this fixture is deliberately almost empty: what it prints is the ;;;; question, and every later generation of it arrives over the socket. (import agent "vendor:agent") (defn main [] i32 (agent/start "/tmp/flan-dev-main-redef-fallback.sock") (println "generation 1") (dotimes [i 40] (agent/wait 5)) 0)