Fix markdown items

This commit is contained in:
Krzosa Karol
2022-07-28 16:57:25 +02:00
parent be508c0ae9
commit f51fddd479

146
README.md
View File

@@ -50,76 +50,76 @@ commit :: (m: *Memory, size: SizeU): Bool
## Done ## Done
[x] - Type as a parameter to a function, alloc :: (size: U64, type: Type) - [x] Type as a parameter to a function, alloc :: (size: U64, type: Type)
[x] - Add token information to instructions - [x] Add token information to instructions
[-] - Mixing loads and imports leads to code duplication, is that what we want??? - [-] Mixing loads and imports leads to code duplication, is that what we want???
[x] - print those token lines nicely - [x] print those token lines nicely
[x] - Improve the python metaprogram - [x] Improve the python metaprogram
[x] - Implementing type Any - [x] Implementing type Any
[x] - Runtime TypeInfo - [x] Runtime TypeInfo
[x] - Proper type Type support - [x] Proper type Type support
[x] - Switch - [x] Switch
[x] - Type aliases :: should probably be strictly typed, but assigning constant values should work - [x] Type aliases :: should probably be strictly typed, but assigning constant values should work
[x] - Array of inferred size - [x] Array of inferred size
[x] - Casting pointers to and from void should be implicit - [x] Casting pointers to and from void should be implicit
[x] - Multiple return values - [x] Multiple return values
[x] - Add c string - [x] Add c string
[-] - Should compound resolution use an algorithm to reorder compounds to initialize all fields in order - [-] Should compound resolution use an algorithm to reorder compounds to initialize all fields in order
[x] - slices should be properly displayed in debugger - [x] slices should be properly displayed in debugger
[x] - Imports inside of import shouldn't spill outside - [x] Imports inside of import shouldn't spill outside
[x] - Scope - [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] Hex 0x42
[x] - Rewrite where # happen, - [x] Rewrite where # happen,
[x] - elif - [x] elif
[x] - cast -> - [x] cast ->
[x] - Remodel compound from call to {} - [x] Remodel compound from call to {}
[x] - Fix codegen renames - [x] Fix codegen renames
[x] - Field access rewrite - [x] Field access rewrite
[-] - Constants embeded in structs should be able to refer to other constants in that namespace without prefix - [-] Constants embeded in structs should be able to refer to other constants in that namespace without prefix
[-] - Order independent constants in structs - [-] Order independent constants in structs
[-] - Fix recursive lambdas in structs - [-] Fix recursive lambdas in structs
[x] - Error message when file not found - [x] Error message when file not found
[x] - Better error messages when type difference - [x] Better error messages when type difference
[-] - Fixing access to functions/structs, in C we cant have functons inside of structs / functions so we need to rewrite the tree - [-] Fixing access to functions/structs, in C we cant have functons inside of structs / functions so we need to rewrite the tree
[x] - Emitting #line - [x] Emitting #line
[x] - Making sure debugger works - [x] Making sure debugger works
[x] - We need ++ -- operators - [x] We need ++ -- operators
[x] - Arrays with size passed - [x] Arrays with size passed
[x] - Values inited to 0 by default - [x] Values inited to 0 by default
[x] - Some way to call foreign functions - [x] Some way to call foreign functions
[x] - We are parsing wrong here: (t.str=(&string_to_lex.str)[i]); - [x] We are parsing wrong here: (t.str=(&string_to_lex.str)[i]);
[x] - Test new operators, add constant eval for them - [x] Test new operators, add constant eval for them
[x] - lvalue, rvalue concept so we cant assign value to some arbitrary weird expression - [x] lvalue, rvalue concept so we cant assign value to some arbitrary weird expression
[x] - Passing down program to compile through command line - [x] Passing down program to compile through command line
[x] - More basic types - [x] More basic types
[x] - Implementing required operations int128 - [x] Implementing required operations int128
[x] - Fix casting - [x] Fix casting
[x] - More for loop variations - [x] More for loop variations
[x] - Add basic support for floats - [x] Add basic support for floats
[x] - Converting from U64 token to S64 Atom introduces unnanounced error (negates) - probably need big int - [x] Converting from U64 token to S64 Atom introduces unnanounced error (negates) - probably need big int
[x] - Add basic setup for new type system - [x] Add basic setup for new type system
[x] - Access through struct names to constants Arena.CONSTANT - [x] Access through struct names to constants Arena.CONSTANT
[x] - Enums - [x] Enums
[x] - Make sure pointer arithmetic works - [x] Make sure pointer arithmetic works
[x] - Initial for loop - [x] Initial for loop
[x] - Enum . access to values - [x] Enum . access to values
[x] - Character literal - [x] Character literal
[x] - Compiling and running a program - [x] Compiling and running a program
[x] - Infinite for loop - [x] Infinite for loop
[x] - in new typesystem: Fix calls, fix all example programs - [x] in new typesystem: Fix calls, fix all example programs
[x] - Fix arithmetic operations in new type system - [x] Fix arithmetic operations in new type system
[x] - Init statements, different kinds [+=] [-=] etc. - [x] Init statements, different kinds [+=] [-=] etc.
[x] - Struct calls - [x] Struct calls
[x] - Operators: Bit negation, Not - [x] Operators: Bit negation, Not
[x] - Default values in calls - [x] Default values in calls
[x] - Resolving calls with default values - [x] Resolving calls with default values
[x] - Pass statement - [x] Pass statement
[x] - Lexer: Need to insert scope endings when hitting End of file - [x] Lexer: Need to insert scope endings when hitting End of file
[x] - Resolving calls with named args, with indexed args - [x] Resolving calls with named args, with indexed args
[x] - Structs - [x] Structs
[x] - Struct field access - [x] Struct field access
[x] - Struct field access with dots while compiling to arrows in c - [x] Struct field access with dots while compiling to arrows in c
[x] - Typespecs should probably be expressions so stuff like would be possible :: \*[32]int - [x] Typespecs should probably be expressions so stuff like would be possible :: \*[32]int
[x] - Initial order independence algorithm - [x] Initial order independence algorithm
[x] - Think about compound expressions, unify with calls - maybe Thing(a=1) instead of Thing{a=1} - [x] Think about compound expressions, unify with calls - maybe Thing(a=1) instead of Thing{a=1}