Comments
This commit is contained in:
18
README.md
18
README.md
@@ -65,28 +65,28 @@ Release :: (m: *Memory)
|
||||
|
||||
## What's missing ?
|
||||
|
||||
- [x] Constant evaluation and constant folding - Folding and precomputing every expression that can be calculated at compile time. Which allows to check if a given constant expression is actually something that can be computed at compile time.
|
||||
- [ ] Constant expressions with types specified by the user.
|
||||
- [x] Constant evaluation and constant folding - Folding and precomputing every expression that can be calculated at compile time. Which allows to check if a given constant expression is actually something that can be computed at compile time
|
||||
- [ ] Constant expressions with concrete types
|
||||
|
||||
- [x] Untyped types - Context dependent type assignment of constant expressions, this is a feature I really loved in Go, it makes constants work very well with a very strict type system and it makes errors like overflow of constants in C due to bad size specifier impossible.
|
||||
- [x] Infinite precision integers in constants.
|
||||
- [x] Resolution of all untyped types in the typechecking stage.
|
||||
- [x] Special case of booleans and their type propagation.
|
||||
- [x] Untyped types - Context dependent type assignment of constant expressions, this is a feature I really loved in Go, it makes constants work very well with a very strict type system and it makes errors like overflow of constants in C due to bad size specifier impossible
|
||||
- [x] Infinite precision integers in constants
|
||||
- [x] Resolution of all untyped types in the typechecking stage
|
||||
- [x] Special case of booleans and their type propagation
|
||||
|
||||
- [x] Module system
|
||||
- [x] Lazy evaluation of modules (unused code is not compiled or typechecked)
|
||||
- [x] Import module, load project file distinction
|
||||
|
||||
- [x] Order independent declarations - The ordering of functions in code files or modules does not matter, compiler figures all that stuff out for you. "main" can be wherever you want it to be and all functions should be available without problems.
|
||||
- [x] Order independent declarations - The ordering of functions in code files or modules does not matter, compiler figures all that stuff out for you. "main" can be wherever you want it to be and all functions should be available without problems
|
||||
|
||||
- [x] Synchronize generated C code with original source using line directives so that debuggers work.
|
||||
- [x] Synchronize generated C code with original source using line directives so that debuggers work
|
||||
|
||||
- [ ] Expressions
|
||||
- [x] Compounds with named fields and numbered fields
|
||||
- [x] Functions calls with named arguments
|
||||
- [x] All the standard binary, unary expressions
|
||||
- [x] Pointer arithmetic and pointer as array
|
||||
- [ ] Dot access expression needs a redesign
|
||||
- [ ] Dot access expression needs a redesign because it doesn't handle expressions after the dot it requires names instead
|
||||
- [ ] Casting might need a redesign not sure
|
||||
|
||||
- [x] Runtime reflection
|
||||
|
||||
Reference in New Issue
Block a user