From 9d6823e017ed0c43050634d0349dbcccd83629f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jasper=20Gr=C3=A4flich?= <graeflich@cyberagentur.de> Date: Thu, 12 Oct 2023 14:56:30 +0200 Subject: [PATCH] Update README --- use-based-refs/interpreter/README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/use-based-refs/interpreter/README.md b/use-based-refs/interpreter/README.md index fd4d6c5..f5312b9 100644 --- a/use-based-refs/interpreter/README.md +++ b/use-based-refs/interpreter/README.md @@ -14,6 +14,7 @@ Right now, the interpreter only executes a program hardcoded in `main`. Change t - [ ] Input files/nice CLI - [ ] Pretty error messages (using miette/ariadne) + - [ ] For this, the AST should keep track of Spans - [ ] Unify test cases for typechecking and evaluating, where possible - [ ] Language features - [x] `TypedIdent` @@ -23,12 +24,13 @@ Right now, the interpreter only executes a program hardcoded in `main`. Change t - [ ] Allow for `&*` reborrowing - [ ] Function definitions - [ ] Function calls - - [ ] Allocations - - [ ] Dereference -- read + - [x] Allocations + - [x] Dereference -- read - [ ] Dereference -- write ## Design decisions to make - [ ] Should type annotations be possible for any expression? For any identifier? Currently, they are only allowed on the LHS of let expressions. - [ ] Right now, allocation of uninitialized memory is not possible; should that be changed? -- [ ] Should blocks be able to be (de-)referenced à la `&{let x = 42; x}`? Probably yes, but there seem to be problems with the implementation. Similarly: What about let expressions etc.? \ No newline at end of file +- [ ] Should blocks be able to be (de-)referenced à la `&{let x = 42; x}`? Probably yes, but there seem to be problems with the implementation. Similarly: What about let expressions etc.? +- [ ] Switch to typed AST? Right now, the evaluator can run independent of the typechecker; this may lead to panics/weird behavior if the program is parseable but doesn't typecheck. Are there any advantages to requiring typecking before evaluation? \ No newline at end of file -- GitLab