ludic/selfhost
Orkuncakilkaya a3a1e4d160 Language: named colors, namespaced Screen/Input/Random/Map API, named args
An opinionated, game-facing surface for the language:
- Color.<Name>: 221 named colors resolved to 0xRRGGBB at compile time
  (selfhost/emit_color.ludic).
- Namespaced builtins Screen.* / Input.key / Random.* / Map.*, so calls read as
  subject.action; present() -> Screen.show(), clear -> Screen.clear,
  fill_rect -> Screen.fill_rectangle, etc.
- Named arguments, e.g. Screen.fill_rectangle(x:, y:, width:, height:, color:),
  reordered to the callee's parameters at emit time.
- machine/become can run over a named program-scope var, not just a register.
- Migrate examples off numeric registers to named vars; snake/menu/chronorift
  render byte-identical to the goldens and the bootstrap fixpoint is preserved.
- Regenerate the checked-in seed (selfhost/ludicc.seed.ll).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-29 16:05:55 +03:00
..
golden Baseline: Ludic compiler + toolchain, Phase 1 syntax fixes complete 2026-08-27 15:15:35 +03:00
tests Phase 7k: bytes(n) / words(n) allocators (retire mem_alloc) 2026-08-28 02:26:15 +03:00
ast.ludic Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
bootstrap-cfree.sh Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
bootstrap.sh Baseline: Ludic compiler + toolchain, Phase 1 syntax fixes complete 2026-08-27 15:15:35 +03:00
buf.ludic Phase 8b: modern names for the raw-memory and OS/IO primitives 2026-08-28 02:55:24 +03:00
build.sh Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
compile.sh Baseline: Ludic compiler + toolchain, Phase 1 syntax fixes complete 2026-08-27 15:15:35 +03:00
emit_addr.ludic Phase 8a: finish typed indexing — fixeds/ptrs buffers (retire peekf/pokef/peekp/pokep/str_len) 2026-08-28 02:49:40 +03:00
emit_color.ludic Language: named colors, namespaced Screen/Input/Random/Map API, named args 2026-08-29 16:05:55 +03:00
emit_core.ludic Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
emit_decl.ludic Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
emit_ecs.ludic Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
emit_expr.ludic Language: named colors, namespaced Screen/Input/Random/Map API, named args 2026-08-29 16:05:55 +03:00
emit_game.ludic Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
emit_head.ludic Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
emit_intrin.ludic Phase 8b: modern names for the raw-memory and OS/IO primitives 2026-08-28 02:55:24 +03:00
emit_intrin2.ludic Phase 8b: modern names for the raw-memory and OS/IO primitives 2026-08-28 02:55:24 +03:00
emit_machine.ludic Language: named colors, namespaced Screen/Input/Random/Map API, named args 2026-08-29 16:05:55 +03:00
emit_math.ludic Phase 7g: the compiler builds its IR with interpolation, not + 2026-08-28 01:30:37 +03:00
emit_net.ludic Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
emit_new.ludic Phase 7g: the compiler builds its IR with interpolation, not + 2026-08-28 01:30:37 +03:00
emit_query.ludic Phase 7g: the compiler builds its IR with interpolation, not + 2026-08-28 01:30:37 +03:00
emit_save.ludic Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
emit_spawn.ludic Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
emit_stmt.ludic Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
emit_ui.ludic Phase 7i: byte indexing p[i] / p[i] = v (retire peek8/poke8) 2026-08-28 02:01:59 +03:00
game-build.sh Baseline: Ludic compiler + toolchain, Phase 1 syntax fixes complete 2026-08-27 15:15:35 +03:00
io.ludic Phase 7k: bytes(n) / words(n) allocators (retire mem_alloc) 2026-08-28 02:26:15 +03:00
lex.ludic Phase 7k: bytes(n) / words(n) allocators (retire mem_alloc) 2026-08-28 02:26:15 +03:00
ludicc.seed.ll Language: named colors, namespaced Screen/Input/Random/Map API, named args 2026-08-29 16:05:55 +03:00
main.ludic Phase 8b: modern names for the raw-memory and OS/IO primitives 2026-08-28 02:55:24 +03:00
parse.ludic Language: named colors, namespaced Screen/Input/Random/Map API, named args 2026-08-29 16:05:55 +03:00
parse_game.ludic Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
reseed.sh Networking N2–N6, and a fully C-free toolchain 2026-08-29 15:08:23 +03:00
str.ludic Phase 7k: bytes(n) / words(n) allocators (retire mem_alloc) 2026-08-28 02:26:15 +03:00
test.sh Baseline: Ludic compiler + toolchain, Phase 1 syntax fixes complete 2026-08-27 15:15:35 +03:00