From e64d777e1d8b4dd1a25024eaebcfedc00a6a907f Mon Sep 17 00:00:00 2001 From: zerbina <100542850+zerbina@users.noreply.github.com> Date: Fri, 18 Aug 2023 00:37:02 +0200 Subject: [PATCH] readme: update the "near-term" section (#845) ## Summary Adjust the "Near-term Development" section to better reflect the currently active areas of development. --- readme.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index 67154946765..26ff10e3a89 100644 --- a/readme.md +++ b/readme.md @@ -66,13 +66,16 @@ For updates on the progress see the roadmap progress [thread](https://github.com The current and key areas of development are as follows: -1. improve tests - core specification as tests (see `slim the core` below). +1. decouple the data types used by the different compilation stages +2. simplify the code generators - perform much of the transformation and lowering + via passes over the mid-end IR +3. improve tests - core specification as tests (see `slim the core` below). Reorganize existing tests. [Project](https://github.com/nim-works/nimskull/projects/2) to track progress. -2. nkError/tyError/skerror - replace `localError` etc approach with an AST +4. nkError/tyError/skerror - replace `localError` etc approach with an AST (`nkError`) one [Project](https://github.com/nim-works/nimskull/projects/1) -3. comments - incrementally document compiler source for easier learning -4. slim the core - remove dialects, backwards compatibility, etc [Discussion](https://github.com/nim-works/nimskull/discussions/289) +5. comments - incrementally document compiler source for easier learning +6. slim the core - remove dialects, backwards compatibility, etc [Discussion](https://github.com/nim-works/nimskull/discussions/289) There are more, the above have been carefully chosen based on the direction of the language; moreover, their impact goes beyond what's been described and @@ -80,6 +83,8 @@ intends to create a virtuous cycle. Examples: * clarifying the language specification will identify bugs and design flaws that in turn will be fixed. +* moving decision making out of the code generators will make behaviour of the + backends consistent with each other * changes introduced via nkError result in more pure code (`func`) as control- flow and effects are no longer intertwined; lead to bug and language design fixes due to a broad audit, ease compiler as a library usage for tools