Source status: no status is stated in the source document, so none is assigned here. Do not treat this page as a finalized specification. The normative rules are in the Technical Specification.
Module and Dependency System¶
The language will use explicit modules with clearly defined interfaces and dependencies.
1. Modules¶
- Applications must be separable into independent modules.
- Every module must declare its public interface.
- Internal implementation details must remain private by default.
- Modules must declare their dependencies.
- Circular dependencies should be rejected by default.
2. Interfaces¶
- Modules must explicitly declare their inputs and outputs.
- Interface contracts must be enforced by the compiler.
- Breaking interface changes must be detected.
- Implementations must satisfy their declared interfaces.
- Compatibility must not be assumed simply because types match.
3. Dependencies¶
- Dependencies must be explicitly declared and versioned.
- Dependency versions must be reproducible.
- Dependency permissions and external effects must be visible.
- Dependency updates must trigger compatibility checks.
- Third-party code must not automatically inherit the permissions of the application using it.
4. Dependency Integrity¶
- Dependencies must have verifiable identities.
- Builds must use locked dependency versions.
- The compiler should detect unexpected dependency changes.
- Dependency provenance should be recorded.
Design Goal¶
AI agents should be able to modify one part of an application without unknowingly breaking unrelated components or introducing incompatible dependencies.
Source and authority¶
This page migrates MODULES.md in full. It is an explanatory / implementation document, not the normative specification. Where it simplifies a rule, the Technical Specification governs. The original file is preserved in source-original/LANG/.