A module that says uses must name every package module it reaches; a package with no module line is named for its directory (ludic_render3d) for this rule, so a mechanic reaching into the renderer is caught. Only the engine's runtime needs no naming. 'module x uses' with nothing after it reaches no other module. A port whose every member has a default answers with its defaults when unbound, and 'new' of a port says to bind it. ludic-dev test runs 'ludic test packages'. Reseed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
11 lines
224 B
Text
11 lines
224 B
Text
# L3: a port is not a record a program makes - it is filled once, by `bind`
|
|
program PortNew {
|
|
port Clock { now: fn() -> int }
|
|
function hours() -> int {
|
|
return 3
|
|
}
|
|
entry {
|
|
let c = new Clock
|
|
print(0)
|
|
}
|
|
}
|