Jakub Doka
af19f4e30d
making the identifiers accessible if they are captured
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-21 14:21:58 +01:00
Jakub Doka
f59c0c1092
some syntax changes
...
mainly added the explicit type for declarations
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-20 11:32:18 +01:00
Jakub Doka
8ad58ee6b6
changing the array sintax to be distinc from tuple
...
the arrays can be declared in a more natural way
type of the element can aso be inferred form the first element
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-20 10:17:34 +01:00
Jakub Doka
6e8eb059f6
adding tuples
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-19 23:08:36 +01:00
Jakub Doka
f05c61a99e
adding @ChildOf directive
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-18 00:06:57 +01:00
Jakub Doka
b3f858f64b
adding @error directive
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-17 21:35:47 +01:00
Jakub Doka
1584ec7563
adding @Any directive
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-17 21:11:02 +01:00
Jakub Doka
6085177982
fixed the unreachable functions deleting branches
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-17 20:53:13 +01:00
Jakub Doka
14cf5efaa5
handling comptime known match
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-17 19:01:01 +01:00
Jakub Doka
95496116b0
making @len work on strings
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-17 18:30:19 +01:00
Jakub Doka
86f7d70747
adding default values to struct fields and @kindof directive
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-17 17:51:14 +01:00
Jakub Doka
e65c72e19f
properly type checking, null checks are fixed
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-16 23:32:08 +01:00
Jakub Doka
1571938e9f
bools can now upcast to any integer
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-16 13:54:52 +01:00
Jakub Doka
b2be007ef0
adding unrolled loops, struct indexing and @len
directive
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-16 13:20:47 +01:00
Jakub Doka
f9c47f86ad
fixing a glaring bug, where the elidded offset is also offset
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-15 17:42:20 +01:00
Jakub Doka
00f6729d31
supporting ascii literals
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-14 21:02:29 +01:00
Jakub Doka
dc96c8b10a
the items accesed outside the nested scope no longer get duplicated
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-14 18:50:13 +01:00
Jakub Doka
5aeeedbdce
fixing non pointer struct method receiver not counting as use
...
forgot to strip pointer
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-14 15:19:02 +01:00
Jakub Doka
9ce446b507
Adding the simplest version of unions
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-01 15:11:38 +01:00
Jakub Doka
3b4b30b2bd
Restructuring the compiler
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-01 14:01:44 +01:00
Jakub Doka
8ea6c5cfcc
fixing miscompilation of generic struct functions
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 16:30:58 +01:00
Jakub Doka
e7cd2c0129
making the loader function customizable
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 15:44:51 +01:00
Jakub Doka
e44d003e7f
completing the generic types example
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 13:38:44 +01:00
Jakub Doka
a2ca8d98df
fixing a bug with floationg point comparison
...
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-11-30 12:40:39 +01:00
Jakub Doka
a3355a59c0
update on incomplete example
2024-11-24 18:55:30 +01:00
Jakub Doka
116f045a5f
adding defer
2024-11-24 18:50:55 +01:00
Jakub Doka
784d552c1d
fixing scoping bug
2024-11-24 16:43:45 +01:00
Jakub Doka
58ee5c0a56
in progress of adding methods
2024-11-24 14:47:38 +01:00
Jakub Doka
9dfb2eb606
fg
2024-11-24 11:26:38 +01:00
Jakub Doka
fb119bc6eb
allowing compatison of types
2024-11-23 15:28:02 +01:00
Jakub Doka
95e9270fef
adding case checking
2024-11-17 20:04:53 +01:00
Jakub Doka
12b9d43754
adding minimal enums
2024-11-17 16:25:39 +01:00
Jakub Doka
397b2a4b1b
fixed a stack prelude postlude being needlesly generated + struct can now be compared
2024-11-17 10:06:10 +01:00
Jakub Doka
a64383e72b
saving
2024-11-16 20:52:38 +01:00
Jakub Doka
867a750d8f
hopefully this is less of a mess now
2024-11-15 23:18:40 +01:00
Jakub Doka
afc1c5aac5
orginizing null checks better to get more peephole hits
2024-11-15 14:36:33 +01:00
Jakub Doka
981c17ff19
fixing function destinations
2024-11-14 20:25:52 +01:00
Jakub Doka
d01e31b203
fixing stack return values
2024-11-13 16:18:21 +01:00
Jakub Doka
3c86eafe72
fixing another problem with rescheduling
2024-11-13 08:49:25 +01:00
Jakub Doka
dd51961fbb
adding assert for better error
2024-11-12 21:10:42 +01:00
Jakub Doka
f1e715e9bd
refactoring truncation
2024-11-12 19:02:29 +01:00
Jakub Doka
9949086011
allowing eca in inline functions
2024-11-12 17:11:39 +01:00
Jakub Doka
c701eb7b6d
adding extra test
2024-11-12 12:54:36 +01:00
Jakub Doka
f1deab11c9
making better peepholes and fixing overoptimization on memory swaps
2024-11-12 12:20:08 +01:00
Jakub Doka
ad7fb5d0fc
adding errors for useless type hints
2024-11-11 22:34:42 +01:00
Jakub Doka
d99672b751
fixing too strict assert
2024-11-11 22:14:54 +01:00
Jakub Doka
7def052749
preventing dangling nodes due to cycles in loop phys
2024-11-11 21:55:18 +01:00
Jakub Doka
3c35557872
fixing type variables in loops
2024-11-11 09:06:34 +01:00
Jakub Doka
b6274f3455
fixing yet another edge case
2024-11-10 20:30:35 +01:00
Jakub Doka
c61efc3933
adding inline functions
2024-11-10 19:35:48 +01:00