feat(lang): ports - port Clock { ... } in a module, bind Clock { ... } in the app

A port is a record of function values a module calls through
(Clock.now()) without naming the module that answers. A port used and
never bound, a bind missing a required member or naming one the port
lacks, and a second bind are refused; the binder must see the port, and
what it binds is checked from its own file. Reseed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-25 04:20:12 +03:00
parent d0ad364ad4
commit b1ccaf08bd
19 changed files with 50439 additions and 47750 deletions

View file

@ -30,6 +30,7 @@ function vis_say(m: pointer) -> void {
}
function vis_check(d: Node, what0: pointer) -> void {
if d == null { return }
port_check_bound(d)
if g_vis_off { return }
if d.file == null { return }
let what = vis_plain(what0)