Add TODO.md
This commit is contained in:
parent
4ab705df0c
commit
e3e6c6a411
23
TODO.md
Normal file
23
TODO.md
Normal file
@ -0,0 +1,23 @@
|
||||
# TODO
|
||||
|
||||
- [x] Remove Dictionaries
|
||||
- [x] Make imports expect just a string, rather than an entire expression
|
||||
- [x] Remove Union types
|
||||
- [x] Fix token locations
|
||||
- [x] Make Return just a regular statement
|
||||
- [x] `StructType.{args=...}` syntax
|
||||
- [x] `[:ElementType, elements...]` syntax
|
||||
- [ ] Tuple element syntax `a.0, a.1`, instead of allowing arbitrary indices into the tuple. This will allow for easier typechecking for tuples
|
||||
- [ ] Make Typechecking a step before anything is interpreted
|
||||
- [ ] Implicit `[elements...]`/`.{args=...}`/`.Member(values...)` syntax
|
||||
- [ ] Destructring of tuples and structs
|
||||
- `(a, b) = some_tuple;`
|
||||
- `.{age=a, name=b} = some_struct;`
|
||||
- [ ] `let` keyword to do runtime destructuring for tuples, structs, lists
|
||||
- `assert let (0, value) = some_tuple;`
|
||||
- `assert let .{a=0, b=age} = some_struct;`
|
||||
- `if let .Some(value) = result { ... }`
|
||||
- `case [first, second | rest] { ... }`
|
||||
- Here `let` is not used, but it does the same thing as `if let`, just in a match context
|
||||
- [ ] Compile the program to bytecode and interpret the bytecode instead
|
||||
- [ ] Compile the bytecode to assembly
|
Loading…
Reference in New Issue
Block a user