Say in plan.org that write-stdout is all that is under print

This commit is contained in:
Joseph Ferano 2026-09-12 05:38:57 +07:00
parent b8019a96d5
commit 127aef75f5

View File

@ -380,8 +380,8 @@ wasm32 target cheap, because a primitive is the only thing implemented twice.
| ~addr~ | address of a place | | ~addr~ | address of a place |
| arithmetic, comparison, casts | per machine type | | arithmetic, comparison, casts | per machine type |
Printing is *not* a primitive. ~print-str~, ~print-f64~ and friends are Flan Printing is *not* a primitive: ~write-stdout~ is the one output primitive and
functions over ~write-stdout~. ~println~ and ~print~ are compiler-provided: the ~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 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 (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 user-defined overload resolution — ordinary values remain untagged, and there