Commit Graph

17 Commits

Author SHA1 Message Date
Michael Schimmel 851f56c63f Ast list nodes 2025-11-29 18:59:16 +01:00
Michael Schimmel aff4cec7d5 AST Identities 2025-11-25 19:41:26 +01:00
Michael Schimmel 0a1df4e9fe Compiler exceptions 2025-11-25 15:51:04 +01:00
Michael Schimmel 4e508d90a5 Compiler exceptions 2025-11-25 15:27:57 +01:00
Michael Schimmel d334ffdc73 Resolved cyclic dependencies between environment and compiler stages 2025-11-23 17:55:47 +01:00
Michael Schimmel 7c761e86e5 Simplified macro expansion 2025-11-23 17:19:56 +01:00
Michael Schimmel 738e595f95 Resolved circular depependancy between macro expander and binder 2025-11-23 15:40:14 +01:00
Michael Schimmel a052dfb20f AST testing 2025-11-23 00:24:43 +01:00
Michael Schimmel 240f794211 AST function purity analysis 2025-11-22 14:49:24 +01:00
Michael Schimmel 58c44079f7 Refactor Compiler Pipeline: Decouple Scope Layout from Runtime Descriptor
- **Architecture:** Split `IScopeDescriptor` into `IScopeLayout` (Binder/Structure) and immutable `IScopeDescriptor` (Runtime/Types).
- **Binder:** Now produces `IScopeLayout` via `IScopeBuilder`. Restored Upvalue tracking and Lambda nesting detection.
- **TypeChecker:** Introduced `TTypeContext` to track types during traversal. Now produces the final `IScopeDescriptor`.
- **Evaluator:** Adapted to new `ILambdaExpressionNode` structure.
- **Fixes:** Resolved `Scope depth mismatch` in TypeChecker and `AccessViolation` in Evaluator due to lost parent scopes.
2025-11-21 12:01:14 +01:00
Michael Schimmel d0d1053faf Static specialization WIP
Fix in ScopeDescriptor 2
2025-11-19 16:01:14 +01:00
Michael Schimmel 138e7ac454 Static specialization WIP 2025-11-19 14:38:40 +01:00
Michael Schimmel 7aa406f27b Macro hygiene 2025-11-09 18:22:09 +01:00
Michael Schimmel 93dc19497c Ast environment refactoring 2025-11-08 15:57:12 +01:00
Michael Schimmel c0f871ce02 Ast environments 2025-11-07 19:40:35 +01:00
Michael Schimmel 4ccf3bb5fd Macros refactoring 2025-11-06 17:41:07 +01:00
Michael Schimmel 6851f745d4 Unit compiler namespaces 2025-11-05 21:50:36 +01:00