Commit Graph

17 Commits

Author SHA1 Message Date
Michael Schimmel 22674b962b Generic Visitors 2026-01-03 19:14:18 +01:00
Michael Schimmel 1d13d0cdaa Ast ternary expr replaced by cond expr 2025-12-07 12:06:29 +01:00
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 4e508d90a5 Compiler exceptions 2025-11-25 15:27:57 +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 138e7ac454 Static specialization WIP 2025-11-19 14:38:40 +01:00
Michael Schimmel 1f0eef7698 Node immutability improved 2025-11-05 18:13:43 +01:00
Michael Schimmel 25984fe61a Refactoring node to be immutable 2025-11-05 15:15:12 +01:00
Michael Schimmel 218bd9f506 Refactoring 2025-11-05 13:48:10 +01:00
Michael Schimmel c0a689d2bc Refactoring for immutable nodes 2025-11-05 13:21:17 +01:00
Michael Schimmel 9bd2d6f7ab Imutability for macro nodes 2025-11-05 12:19:34 +01:00
Michael Schimmel edd3e83377 Fixed macro expansion 2025-11-05 10:03:27 +01:00
Michael Schimmel eb42a4ef3b Refactoring 2025-11-02 22:44:01 +01:00
Michael Schimmel ea39a57b77 Binder refactoring, Monster refactoring 2025-11-02 19:38:52 +01:00
Michael Schimmel 8f29212cba Binder refactoring - extracted TCO - WIP 2025-11-01 15:44:56 +01:00