Commit Graph

337 Commits

Author SHA1 Message Date
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 30933072a4 Ki Gem 2025-11-23 14:44:28 +01:00
Michael Schimmel a052dfb20f AST testing 2025-11-23 00:24:43 +01:00
Michael Schimmel c5167b8550 AST testing 2025-11-22 17:02:16 +01:00
Michael Schimmel 240f794211 AST function purity analysis 2025-11-22 14:49:24 +01:00
Michael Schimmel 61b6a1742b Fixed some glitches from last refactoring 2025-11-21 17:49:06 +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 ae10f4eee0 Static specialization done 2025-11-19 21:22:01 +01:00
Michael Schimmel d0d1053faf Static specialization WIP
Fix in ScopeDescriptor 2
2025-11-19 16:01:14 +01:00
Michael Schimmel 3ae1ed8f48 Static specialization WIP
Fix in ScopeDescriptor
2025-11-19 15:47:09 +01:00
Michael Schimmel 138e7ac454 Static specialization WIP 2025-11-19 14:38:40 +01:00
Michael Schimmel c129c1a3ae Static specialization 2025-11-11 11:58:08 +01:00
Michael Schimmel 8a6c866a9c Planning static specialization 2025-11-10 10:00:08 +01:00
Michael Schimmel 7aa406f27b Macro hygiene 2025-11-09 18:22:09 +01:00
Michael Schimmel d849f65f2d Handle Nop properly 2025-11-08 16:20:48 +01:00
Michael Schimmel be5f36e04a Ast environment refactoring 2025-11-08 16:00:37 +01:00
Michael Schimmel 93dc19497c Ast environment refactoring 2025-11-08 15:57:12 +01:00
Michael Schimmel c16f47c6d5 Fix in Testcase 2025-11-08 10:45:04 +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
Michael Schimmel 5003cfd899 Finished node immutability 2025-11-05 18:33:29 +01:00
Michael Schimmel 1f0eef7698 Node immutability improved 2025-11-05 18:13:43 +01:00
Michael Schimmel 0915d6d90d Resolved dependency between AST nodes and scope 2025-11-05 16:52:40 +01:00
Michael Schimmel b98e7d98e6 Refactoring node to be immutable 2025-11-05 15:24:54 +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 60358365cd Fixed macro def expansion 2025-11-05 10:39:15 +01:00
Michael Schimmel edd3e83377 Fixed macro expansion 2025-11-05 10:03:27 +01:00
Michael Schimmel 980919525b Immutable infered types 2025-11-04 22:10:11 +01:00
Michael Schimmel f73c0c67b8 AST type infer SoC 2025-11-04 20:35:34 +01:00
Michael Schimmel d82a75aba6 Making AST node inmmutable - WIP 2025-11-04 20:12:12 +01:00
Michael Schimmel 48ccb23060 Refactoring 2025-11-04 18:22:06 +01:00
Michael Schimmel 2b8a3effed Visualizer node aggregates
Fix in macro expander
2025-11-04 17:45:47 +01:00
Michael Schimmel 2fd85be923 Tag 2025-11-03 11:11:43 +01:00
Michael Schimmel ec76b78b39 Nop-Node 2025-11-03 00:35:23 +01:00
Michael Schimmel eb42a4ef3b Refactoring 2025-11-02 22:44:01 +01:00
Michael Schimmel 92cfe94463 Fixed quasiquote expansinon 2025-11-02 20:04:56 +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
Michael Schimmel 915deb4dc0 Binder refactoring - extracted lowering 2025-11-01 14:56:38 +01:00
Michael Schimmel 734b7b1d5e Binder refactoring - extracted type checking 2025-11-01 14:14:17 +01:00
Michael Schimmel 6826b75c19 Binder refactoring - extracted type checking 2025-11-01 14:04:45 +01:00
Michael Schimmel 4687ecb9ca Binder refactoring - extracted macro expander 2025-11-01 13:36:10 +01:00
Michael Schimmel 6ab51816d1 Binder refactoring 2025-11-01 13:09:29 +01:00
Michael Schimmel 3869c98652 Refactoring 2025-11-01 13:00:22 +01:00