The trio the author decided on 2026-09-20 is now all built: def is CL's defparameter — its initialiser runs on every daemon re-run, unguarded, so an edited initialiser repaints the same storage on C-c C-c plus re-run — defonce (Clojure's name for CL's defvar, per the author) initialises once behind the .init~once. flag, and defconst stays the image. One parse arm reads both forms; the difference is Ast.reinit, carried to Tast.global's grerun. Emit.startup_plan gives a def no guard flag, and Check.check_global lifts every def initialiser — zero and literal included — into global/<n>, so the host's startup reaches it through the function cell and a re-evaluated def swaps it (Session's def_inits; Emit.redefinition declares the cell for a non-sibling target). The old defvar spelling is refused with the rename and both compiling spellings, and every program, test, doc and editor list is swept — except sand.flan, the author's live WIP, whose seven defvar lines are flagged in FIX.org and keep its three dependent tests red on this branch.
26 lines
1.1 KiB
Plaintext
26 lines
1.1 KiB
Plaintext
;;;; A program that parks the moment it is up: an agent, a line of output and
|
|
;;;; a return from main.
|
|
;;;;
|
|
;;;; Every other fixture here has to be driven to its park through the run it
|
|
;;;; was written for. What the note test needs is the park itself, repeatedly
|
|
;;;; and cheaply — a redefinition sent to a parked program is answered with an
|
|
;;;; explanation of what "queued" means for one, and the claim under test is
|
|
;;;; that the explanation is given once per park rather than once per
|
|
;;;; keystroke. So the run is as short as a run can be, and [rerun] gets it
|
|
;;;; back to a fresh park in one op.
|
|
(import agent "vendor:agent")
|
|
|
|
(defonce runs i64)
|
|
|
|
(defn step [] i64 7)
|
|
|
|
;;; Called by main before the run reaches any (agent/poll), which is what
|
|
;;; makes it the probe for *when* a parked delivery installs: a body queued
|
|
;;; while the program was parked either got into the ring before main was
|
|
;;; re-entered or it did not, and this is the print that says which.
|
|
(defn main [] i32
|
|
(agent/start "/tmp/flan-dev-parknote-fallback.sock")
|
|
(set runs (+ runs 1))
|
|
(print (step)) (println "")
|
|
0)
|