diff --git a/plan.org b/plan.org index 390a663..2cd59a6 100644 --- a/plan.org +++ b/plan.org @@ -380,8 +380,8 @@ wasm32 target cheap, because a primitive is the only thing implemented twice. | ~addr~ | address of a place | | arithmetic, comparison, casts | per machine type | -Printing is *not* a primitive. ~print-str~, ~print-f64~ and friends are Flan -functions over ~write-stdout~. ~println~ and ~print~ are compiler-provided: the +Printing is *not* a primitive: ~write-stdout~ is the one output primitive and +~println~ and ~print~ are written over it. Both are compiler-provided — the checker walks the concrete type at the call site and emits the printer for it (lib/render.ml, shared with the REPL's ~C-x C-e~). This is intentionally not user-defined overload resolution — ordinary values remain untagged, and there