1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-10-11 12:23:45 +00:00

added TODO for compile time keyword

This commit is contained in:
jespergravgaard 2017-11-10 08:29:55 +01:00
parent b0e6ae0b67
commit 15d6935601

View File

@ -11,7 +11,10 @@ Features
- Improve locality of block sequence for if(cond) { stmt1; } else { stmt2; } to if(!cond) goto @else stmt1; jmp @end; @else: stmt2; @end:
- Optimize if/else by swapping if & else if cond is easier to evaluate than !cond.
- Let { stmt } and for() {} introduce a new anonymous scope. (But not when optimizing)
- Add preprocessing / find a way to allow some functions to run at compile time
- Add preprocessing / find a way to allow some functions to run at compile time. This will always be to initialize memory to a certain state.
- Syntax: A preprocess keyword usable before initializers or global statements blocks? (maybe compiletime is a better word as it is not a preprocessor in the C-sense of the word)
- byte[$100] sins = preprocess { [x] = sin(2.0*PI*x/$100) };
- byte[$100] sins; preprocess { for(byte x : 0 $ff) { sins[x] = sin(2.0*PI*x/$100)}};
- Implement inline compilation of functions (and a mechanism for choosing which methods / calls to inline)
- Handle long branches
- Optimize loops by unrolling them somewhat