You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: MISSING_FEATURES.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@
28
28
14. Installed CLI entrypoint (`a7`) is wired through `pyproject.toml`.
29
29
15. Debug/release example artifact verification is available through `scripts/build_examples.py`.
30
30
16.`run_all_tests.sh` includes C backend verification, both example E2E verifiers, selected Zig/C parity smoke checks, debug/release artifact builds, the error-stage matrix, docs style checks, and full pytest.
31
-
17. Local file-based imports now fail closed during semantic analysis instead of swallowing module loading failures.
31
+
17. Local file-based imports now fail closed during codegen modes instead of emitting unresolved backend code. Semantic mode still validates resolver loading.
32
32
18. Zig unsupported expression fallbacks now fail as compiler-side codegen errors instead of generated `@compileError` expressions.
33
33
19.`fall` now lowers in both Zig and C when used as the final direct
34
34
statement of a non-final match case.
@@ -98,6 +98,7 @@
98
98
99
99
6.**Module-system parity**
100
100
- Missing or broken local imports now fail closed.
101
+
- Existing file-backed local imports resolve for semantic validation but are rejected before backend codegen until multi-file lowering/linking exists.
101
102
- Built-in stdlib imports are virtual modules, but now participate in `ModuleResolver`/`ModuleTable` symbol registration like file-based modules.
102
103
-`std/string`, `std/mem`, and `std/collections` are planned but not current public stdlib modules.
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -165,7 +165,7 @@ Use fixed-width integers such as `i32`, `i64`, `u32`, or `u64` when the data its
165
165
-**Function Rules**: Direct and mutual recursion are semantic errors
166
166
-**Expressions**: All operators with proper precedence, casts, if-expressions, struct/array literals, untagged union field literals/access
167
167
-**Memory**: Property-based pointer syntax (`.adr`, `.val`), scalar/struct `new` and `del`, defer cleanup. Heap fixed arrays (`new [N]T`) are rejected until the language model is defined.
168
-
-**Imports**: Module system with named imports, using imports, aliased imports
168
+
-**Imports**: Virtual `std/io` and `std/math` modules with aliases; file-backed local imports resolve for validation but fail closed before backend codegen until module linking is implemented
169
169
-**Generics**: Type parameters (`$T`), constraints, type sets, generic structs, generic struct literals, and simple top-level generic function calls in both backends
170
170
-**Code Generation**: A7 → Zig and A7 → C backends
171
171
-**Standard Library**: Registry with io and math modules, backend-specific mappings
Copy file name to clipboardExpand all lines: TODO.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -169,7 +169,7 @@ Features that are spec'd and partially implemented, or missing from one backend.
169
169
170
170
-[x] Stop treating import/module loading as best-effort.
171
171
Files: `a7/compile.py`, `a7/module_resolver.py`
172
-
Notes: fixed for local file-based imports; missing or broken dependencies now fail as semantic errors while virtual stdlib imports remain supported.
172
+
Notes: missing or broken dependencies now fail as semantic errors while virtual stdlib imports remain supported. Existing file-backed imports are resolver-validated in semantic mode and fail closed before backend codegen until module linking exists.
173
173
174
174
-[x] Unify built-in stdlib imports with file-based module resolution.
SemanticErrorType.CIRCULAR_IMPORT: "Reorganize modules to remove circular dependencies",
294
296
SemanticErrorType.MODULE_NOT_FOUND: "Check the module path and ensure the file exists",
295
297
SemanticErrorType.IMPORT_NAME_CONFLICT: "Use an alias for the import or rename the conflicting definition",
298
+
SemanticErrorType.UNSUPPORTED_IMPORT: "Use a current virtual stdlib import or keep file-backed modules in the same source file until backend linking is implemented",
296
299
297
300
# Generic errors
298
301
SemanticErrorType.GENERIC_PARAM_MISMATCH: "Provide the correct number of generic type arguments",
The status page is canonical for remaining gaps. Key limits include complete memory/lifetime guarantees, broader generic propagation beyond current function and struct instance coverage, parsed-only variadic declarations, reserved-but-unimplemented intrinsics beyond `@type_set(...)`, tagged union workflows, and arbitrary symbolic inequality reasoning.
31
+
The status page is canonical for remaining gaps. Key limits include complete memory/lifetime guarantees, backend lowering/linking for file-backed local modules, broader generic propagation beyond current function and struct instance coverage, parsed-only variadic declarations, reserved-but-unimplemented intrinsics beyond `@type_set(...)`, tagged union workflows, and arbitrary symbolic inequality reasoning.
The status page is canonical for remaining gaps. Key limits include complete memory/lifetime guarantees, broader generic propagation beyond current function and struct instance coverage, tagged union workflows, and arbitrary symbolic inequality reasoning.
31
+
The status page is canonical for remaining gaps. Key limits include complete memory/lifetime guarantees, backend lowering/linking for file-backed local modules, broader generic propagation beyond current function and struct instance coverage, tagged union workflows, and arbitrary symbolic inequality reasoning.
0 commit comments