--- id: kw-port name: port category: structure kind: keyword tokens: port sig: port Name { member: fn(T) -> R [= default], ... } tip: The questions a module asks the world, bound once by the program. order: 59 --- A port is what a module needs to ask the world, as named function members in primitive types. The program answers it once with bind; a member left unbound without a default is a compile error. Ports let a package ask a question without reaching into the module that knows the answer. ```ludic # doc-check: skip — a module spans files export port ClockWorld { rest_scale: fn() -> float } ```