ludic/selfhost
Orkuncakilkaya 9259808f80 feat(lang): L6 namespaces declared in Ludic - alias
`alias meth(labels) = target` in a namespace block makes Ns.meth a call to
target with those labels (the target's own parameter names without a list). The
engine's 41 table-driven namespaces - 438 methods: Http, Udp, Process, Json,
Value, Screen, Input, Audio, World, Tiled, ... - leave emit_ns_call for
runtime/native/namespaces.ludic, spliced into every program; 532 lines of
compiler go and the seed shrinks by 23k lines of IR. The game's IR is byte
identical. The checker checks an alias call's arguments against its target.
Still built in: the inline namespaces (Math, Text, List, Vector, Color, Time,
Date, ...) and the methods that pick a target by argument type.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-24 02:40:57 +03:00
..
backend feat(lang): L6 namespaces declared in Ludic - alias 2026-09-24 02:40:57 +03:00
check feat(lang): L6 namespaces declared in Ludic - alias 2026-09-24 02:40:57 +03:00
frontend feat(lang): L6 namespaces declared in Ludic - alias 2026-09-24 02:40:57 +03:00
golden chore(repo): DX cleanup — categorise examples, text-diffable golden, build/ output (#27 #28 #30) 2026-08-30 18:54:21 +03:00
support feat(lang): L4 type checker between parse and emit 2026-09-24 01:34:49 +03:00
tests fix(compiler): == / != on references is identity; only text compares by content 2026-09-16 16:13:31 +03:00
ludicc.seed.ll feat(lang): L6 namespaces declared in Ludic - alias 2026-09-24 02:40:57 +03:00
ludicc.win.seed.ll feat(lang): L6 namespaces declared in Ludic - alias 2026-09-24 02:40:57 +03:00
main.ludic feat(lang): L4 type checker between parse and emit 2026-09-24 01:34:49 +03:00