A port is a record of function values a module calls through (Clock.now()) without naming the module that answers. A port used and never bound, a bind missing a required member or naming one the port lacks, and a second bind are refused; the binder must see the port, and what it binds is checked from its own file. Reseed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
14 lines
250 B
Text
14 lines
250 B
Text
# L3: a bind gives every member that has no default
|
|
program PortMissing {
|
|
port Clock {
|
|
now: fn() -> int
|
|
day: fn() -> int
|
|
}
|
|
function hours() -> int {
|
|
return 3
|
|
}
|
|
bind Clock { now: fn hours }
|
|
entry {
|
|
print(Clock.now())
|
|
}
|
|
}
|