Section 24 of 51
78. Namespace Resolution Engine
Stable section ID: S05-CON-008-SECTION-24 · 18 content blocks
The Namespace Resolution Engine determines how names are scoped, imported, exported, qualified, inherited, and referenced across BDL documents, modules, packages, libraries, registries, and projects.
Every reusable definition shall belong to an identifiable namespace.
The engine shall process:
root namespaces;
module namespaces;
package namespaces;
imported aliases;
exported definitions;
private definitions;
extension namespaces;
project-local namespaces;
- version-qualified references.
- Namespace resolution shall be deterministic and independent of incidental file-processing order.
Conflicting names shall not be resolved through arbitrary selection. The compiler shall require qualification or apply an explicitly declared authority and precedence rule.
Private module definitions shall not become externally accessible unless exported through a governed interface.
- A manufacturer extension shall not occupy or redefine a reserved System05 namespace.
- Namespace aliases shall not alter the underlying identity of an entity.
- The resolved namespace path of every formal reference shall be preserved in the compilation record.