Change to globals are PascalCase, locals are snake_case
This commit is contained in:
@@ -56,9 +56,28 @@ For modules it's a bit different cause they should be distributed as valid.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
@todo
|
||||
- [ ] Split Bc into builder and interpreter
|
||||
- [ ] Implement functions in the bytecode
|
||||
- [ ] Basic
|
||||
- [ ] Fix . operator lookups
|
||||
|
||||
|
||||
- [ ] Builtin data structures
|
||||
- [ ] Fix length_of etc. they should be function calls not operators
|
||||
- [ ] Strings probably should have len() instead of string.len
|
||||
- [ ] Slices
|
||||
- [ ] Some way to take slice of data
|
||||
- [ ] Tuples
|
||||
- [ ] Dynamic arrays
|
||||
- [ ] Hash tables
|
||||
|
||||
- [ ] Bytecode interpreter
|
||||
- [ ] Ir
|
||||
- [ ] Interpreter
|
||||
- [ ] Code generation
|
||||
|
||||
- [ ] Parametric Polymorphism
|
||||
|
||||
|
||||
- [ ] Improvements
|
||||
|
||||
- [ ] Probably need to give Ast_Expr a Value field, then I can express Type nicely
|
||||
- [ ] I would love for String, slice, Any etc. to have their struct declarations in source files, I also would want for stuff like string.str to work without weird special cases
|
||||
@@ -66,30 +85,25 @@ For modules it's a bit different cause they should be distributed as valid.
|
||||
|
||||
- [ ] #test construct that would gather all tests and run them on start of program or something
|
||||
- [ ] Foreign import that would link library
|
||||
- [ ] Builtin dynamic arrays
|
||||
- [ ] Kilobyte, Megabyte, Gigabyte
|
||||
- [ ] Cast from array to pointer?
|
||||
- [ ] Fix field access, cant cast, cant index
|
||||
- [ ] Add parent_scope to Ast_Type, Add name to Ast_Type?
|
||||
- [ ] Some way to take slice of data
|
||||
|
||||
- [ ] Optional function renaming in codegen
|
||||
- [ ] Using in structs to embed members, then casting offsets to that embedded member
|
||||
|
||||
- [ ] Comma notation when declaring variables thing1, thing2: S32 :: probably want to unify it with var unpacking
|
||||
- [ ] Add single line lambda expressions
|
||||
- [ ] Ternary operator
|
||||
- [ ] Disable ability to parse inner structs, functions, constants etc. ?
|
||||
- [ ] Write up on order independent declarations
|
||||
|
||||
- [ ] Consider changing syntax of scopes to use braces { }
|
||||
- [ ] Order independent declarations in structs ?
|
||||
- [ ] constructor => thing :: (i: S32) -> {i = i, thing = 10}
|
||||
- [ ] Casting to basic types by call S64(x)
|
||||
- [ ] Default values in structs??? Should compound stmts bring values from default values?? Maybe not? Whats the alternative
|
||||
|
||||
@ideas
|
||||
- [ ] Var args using Any array - args: []Any - delete vargs
|
||||
- [ ] [Using] keyword that brings in the struct enviroment into current scope etc.
|
||||
- [ ] Constant arrays that evaluate fully at compile time
|
||||
- [ ] Rust like enum where you associate values(other structs) with keys
|
||||
- [ ] Compound that zeros values - .{} , Compound that assumes defaults from struct definition - {}
|
||||
@@ -100,6 +114,8 @@ For modules it's a bit different cause they should be distributed as valid.
|
||||
|
||||
## Done
|
||||
|
||||
- [x] Consider changing syntax of scopes to use braces { } NO
|
||||
- [x] Disable ability to parse inner structs, functions, constants etc. ?
|
||||
- [x] Fix language_basics.kl string index error
|
||||
- [x] Type as a parameter to a function, alloc :: (size: U64, type: Type)
|
||||
- [x] Add token information to instructions
|
||||
@@ -119,7 +135,7 @@ For modules it's a bit different cause they should be distributed as valid.
|
||||
- [x] slices should be properly displayed in debugger
|
||||
- [x] Imports inside of import shouldn't spill outside
|
||||
- [x] Scope
|
||||
- [x] #assert that handles constants at compile time and vars at runtime
|
||||
- [x] #Assert that handles constants at compile time and vars at runtime
|
||||
- [x] Hex 0x42
|
||||
- [x] Rewrite where # happen,
|
||||
- [x] elif
|
||||
@@ -136,6 +152,7 @@ For modules it's a bit different cause they should be distributed as valid.
|
||||
- [x] Emitting #line
|
||||
- [x] Making sure debugger works
|
||||
- [x] We need ++ -- operators
|
||||
- [x] Order independent declarations in structs ? NO MORE
|
||||
- [x] Arrays with size passed
|
||||
- [x] Values inited to 0 by default
|
||||
- [x] Some way to call foreign functions
|
||||
|
||||
Reference in New Issue
Block a user