Baseline: Ludic compiler + toolchain, Phase 1 syntax fixes complete

Self-hosted compiler (selfhost/*.ludic), runtime, examples, editor tooling,
and docs. Phase 1 of the syntax-redesign cohesion pass has landed:
edge-system fix, signature-query, when-alias, and the documentation truth-pass.
Suite green (14/14), C-free bootstrap fixpoint holds.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-08-27 15:15:35 +03:00
commit 985f9ad8f2
418 changed files with 39065 additions and 0 deletions

32
runtime/web/imports.txt Normal file
View file

@ -0,0 +1,32 @@
# runtime/web/imports.txt — every symbol a web build may leave undefined.
#
# ludicc passes this to wasm-ld as --allow-undefined-file, so these become the
# module's wasm imports and *anything else* undefined is a link error at build
# time rather than a LinkError in the browser. That matters because LLVM invents
# libcalls (calloc, bcmp, memmove) that ludicc never emitted: without this list
# they would silently become imports nobody implements.
#
# runtime/web/platform.js supplies all of them.
# the window — the same five-function protocol runtime/native/cocoa.ll implements
win_open
win_poll
win_present
win_running
win_close
# files: a preloaded image of the game's assets, plus localStorage for saves
web_fopen
web_fread
web_fwrite
web_fclose
web_fseek
web_ftell
# stdin, stdout, the clock, and giving up
web_getchar
web_putchar
web_print_str
web_print_int
web_time
web_exit