wip(0.S1, 0.S2): state records, mut and read-only state parameters, entry injection, module var refused; ludic migrate state

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-09-25 13:45:09 +03:00
parent 63a1fa1378
commit 1e8b5b0523
35 changed files with 1227 additions and 30 deletions

View file

@ -31,6 +31,7 @@ program Ludic {
import "scripts.ludic"
import "deps.ludic"
import "testpar.ludic"
import "migrate.ludic"
function usage() -> void {
print("ludic — the toolchain for the Ludic language")
@ -47,6 +48,7 @@ program Ludic {
print(" compile and run the project's tests (-v: every test's line)")
print(" deps [file] [--graph|--dot|--writes|--uses MOD|--check F|--baseline F]")
print(" the module graph as the compiler sees it, and how tangled it is")
print(" migrate state [file] [--runtime] module-level vars into states, passed as parameters (0.S)")
print(" clean remove build/")
print("")
print("packages:")
@ -99,6 +101,7 @@ program Ludic {
if (cmd == "run") { return cmd_run() }
if (cmd == "test") { return cmd_test() }
if (cmd == "deps") { return cmd_deps() }
if (cmd == "migrate") { return cmd_migrate() }
if (cmd == "clean") { return cmd_clean() }
if (cmd == "fmt") { return cmd_fmt() }
if (cmd == "lsp") { return cmd_lsp() }