CJC Module System
Deterministic module resolution, dependency graph construction, and program merging for multi-file CJC programs.
Design principles:
- All internal maps use
BTreeMapfor deterministic ordering - Symbol mangling:
module_path::fn_name(e.g.,math::linalg::solve) - Cycle detection via DFS with proper error reporting
- Single merged
MirProgramoutput for the executor