Skip to content

Commit d9eb48f

Browse files
miharpclaude
andcommitted
Describe how a module publishes a type set precisely
The Object section said each file in a module's types directory contributes to the module's type set, which implies the set is assembled automatically. It is not: OpenVox loads a module's type set from an explicit declaration, which loader_paths.rb and module_loaders.rb resolve as <module>::init_typeset. Name the file instead. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Signed-off-by: Michael Harp <mike@mikeharp.com>
1 parent 0385ab6 commit d9eb48f

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

docs/_openvox_8x/lang_data_abstract.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -468,14 +468,17 @@ notice($g.greeting) # hello
468468
notice($g =~ $greeter) # true
469469
```
470470

471-
In practice you rarely write this form inline. Modules declare object types in their `types` directory,
472-
where each file contributes to the module's type set.
471+
In practice you rarely write this form inline. Modules declare object types in their `types` directory, one
472+
type per file.
473473

474474
### `TypeSet`
475475

476476
The `TypeSet` data type groups several object types together under one name and version, so a module can
477-
publish a related family of types. Type sets are declared in a module's `types` directory rather than
478-
written inline in a manifest, and they record a name, a version, and the types they contain.
477+
publish a related family of types rather than a loose collection. A type set records a name, a version, and
478+
the types it contains.
479+
480+
A module publishes one by declaring it in `types/init_typeset.pp`, which OpenVox loads as the type set named
481+
after the module. Type sets are not written inline in a manifest.
479482

480483
The type parser accepts any capitalization, so `Typeset` also works, but `TypeSet` is the spelling OpenVox
481484
itself uses when it renders the type.

0 commit comments

Comments
 (0)