|
cc367a38e7
|
Allow mutable borrows to coerce into immutable
|
2025-07-27 21:41:34 +03:00 |
|
|
1c83ca44ab
|
Add dot syntax for associated functions
|
2025-07-27 21:29:39 +03:00 |
|
|
537167fe4f
|
Add intrinsic associated functions
|
2025-07-27 19:55:28 +03:00 |
|
|
4f57ed399f
|
Add formatting, fix typechecking for associated functions
|
2025-07-27 18:35:02 +03:00 |
|
|
4d7c17a854
|
Add typeinference and typechecking for Associated Functions
|
2025-07-27 18:24:49 +03:00 |
|
|
46668b7099
|
Fix a bunch of warnings
|
2025-07-27 18:11:18 +03:00 |
|
|
ab94bd7df0
|
Add AST -> MIR processing for associated functions
|
2025-07-27 03:08:34 +03:00 |
|
|
a253c032d8
|
Add parsing for &self and &mut self
|
2025-07-27 02:49:08 +03:00 |
|
|
0ba1fa90e7
|
Update readme, clean up a little
|
2025-07-26 14:04:24 +03:00 |
|
|
c316d94b75
|
Fix bug in custom binops where their return types aren't inferred
|
2025-07-26 14:01:53 +03:00 |
|
|
0196fb53ed
|
Import binops while importing types as well
|
2025-07-26 13:18:55 +03:00 |
|
|
58cc633f98
|
Update typerefs in statements and expressions as well for extern types
|
2025-07-26 12:56:42 +03:00 |
|
|
59e4c38770
|
Fix type references for function return types .. for now
|
2025-07-26 01:34:37 +03:00 |
|
|
19120492b9
|
Update get_type to accept imported types as well
|
2025-07-26 01:02:25 +03:00 |
|
|
269de327b8
|
Allow importing types
|
2025-07-26 00:57:39 +03:00 |
|
|
4c9633132f
|
Fix missing fields not warning in structs
|
2025-07-25 23:30:57 +03:00 |
|
|
45d381f865
|
Hide intrinsic binary operators in alternate mode
|
2025-07-25 22:43:19 +03:00 |
|
|
17e8cf4807
|
Make hint be HintKind and not Option
|
2025-07-25 22:35:27 +03:00 |
|
|
c466b8eb2a
|
Fix everything except for casts
|
2025-07-25 22:21:11 +03:00 |
|
|
8396aa4613
|
Fix casting indexed accesses
|
2025-07-25 21:27:21 +03:00 |
|
|
5149ef8727
|
Fix intrinsic binops
|
2025-07-25 21:11:30 +03:00 |
|
|
307137d0d9
|
Fix a significant problem in how the typerefs aren't narrowed properly
|
2025-07-25 20:16:54 +03:00 |
|
|
63f48f7df9
|
Implement a bunch of intrinsic binops
|
2025-07-25 18:48:16 +03:00 |
|
|
7ba3204803
|
Implement typechecking and inference logic for binops
|
2025-07-25 18:10:22 +03:00 |
|
|
2cb61de294
|
Fix binop-fetching
|
2025-07-25 16:57:44 +03:00 |
|
|
8d3dd4a49f
|
Improve binop type narrowing
|
2025-07-25 16:55:32 +03:00 |
|
|
f8d2e4996a
|
Refactor typecheck into it's own module
|
2025-07-25 16:19:55 +03:00 |
|
|
0b3ee3bf92
|
Refactor some more
|
2025-07-25 15:55:14 +03:00 |
|
|
6ee43d4012
|
Refactor stuff into codegen-module
|
2025-07-25 15:52:52 +03:00 |
|
|
b288fee2d5
|
Fix parsing of explicitly typed literals
|
2025-07-25 03:04:04 +03:00 |
|
|
6634597c92
|
Add ability to specify variable types in let
|
2025-07-25 00:41:38 +03:00 |
|
|
ea8a833bdf
|
Fix warnings and issues
|
2025-07-25 00:32:49 +03:00 |
|
|
5b46e973d4
|
Add types to number-literals
|
2025-07-24 23:04:35 +03:00 |
|
|
be3c415a57
|
Implement void returns
|
2025-07-24 21:54:55 +03:00 |
|
|
f6425fc37e
|
Embrace having megaintrinsic binops
|
2025-07-24 20:15:13 +03:00 |
|
|
bb0b7c12c3
|
Fix collapsing of both types in type inferrer
|
2025-07-24 19:03:03 +03:00 |
|
|
27db67dd99
|
Possibly fix typechecking for binops
|
2025-07-24 18:42:10 +03:00 |
|
|
8810d34d54
|
Get intrinsics to inline at codegen
|
2025-07-24 17:14:49 +03:00 |
|
|
b12e0a18a9
|
Add typechecking for custom binops
|
2025-07-24 15:38:08 +03:00 |
|
|
9f7022b4c0
|
Add operator to scopebinop, add some typechecking for binops
|
2025-07-24 15:09:27 +03:00 |
|
|
aec7d55e9b
|
Add codegen to custom binops
|
2025-07-24 15:03:05 +03:00 |
|
|
a7795f83db
|
Use FunctionDefinitionKind for binops
|
2025-07-24 13:40:06 +03:00 |
|
|
7c6de93b31
|
Check for existance of pre-existing binops
|
2025-07-24 13:25:33 +03:00 |
|
|
50af50c43f
|
Typecheck custom binops
|
2025-07-24 13:07:49 +03:00 |
|
|
974c7e98f1
|
Add AST -> MIR for custom binops
|
2025-07-24 12:34:16 +03:00 |
|
|
89002f34e4
|
Add function double-definition checking
|
2025-07-24 12:13:34 +03:00 |
|
|
954f3438d3
|
Codegen intrinsics
|
2025-07-24 11:56:44 +03:00 |
|
|
5ff5651f5f
|
Work on intrinsics, clean up code a bit
|
2025-07-24 11:29:58 +03:00 |
|
|
4bef1c2379
|
Start implementing intrinsics
|
2025-07-24 01:39:49 +03:00 |
|
|
7027ee3645
|
Fix default for arrays
|
2025-07-23 23:11:20 +03:00 |
|
|
c4017715d2
|
Codegen for/while loops
|
2025-07-23 21:07:12 +03:00 |
|
|
a251be2715
|
Make loops typecheck and type infere
|
2025-07-23 20:53:11 +03:00 |
|
|
15ff9c5906
|
Fix warnings
|
2025-07-23 20:44:58 +03:00 |
|
|
75a7a435d1
|
Make for-loops syntax sugar instead
|
2025-07-23 20:44:30 +03:00 |
|
|
1a5e3ef1d9
|
Add loops ast -> mir
|
2025-07-23 20:29:13 +03:00 |
|
|
ef4964ed86
|
Add parsing for for/while loops
|
2025-07-23 20:14:35 +03:00 |
|
|
fe4e41c435
|
Fix seeing same type multiple times when importing
|
2025-07-23 17:21:33 +03:00 |
|
|
8b79959288
|
Fix typedefinition in scope
|
2025-07-23 15:34:01 +03:00 |
|
|
82758ae333
|
Only test for typedefinitions in current module
|
2025-07-23 15:22:58 +03:00 |
|
|
b9459a19bb
|
Add div/mod parsing
|
2025-07-23 14:59:51 +03:00 |
|
|
97f5eebf22
|
Fix some warnings
|
2025-07-22 23:25:49 +03:00 |
|
|
9df1593de9
|
Fix decimal parsing, add u128-support for integer parsing
|
2025-07-22 23:20:38 +03:00 |
|
|
8954d1a6d0
|
Add binop_hint
|
2025-07-22 23:14:38 +03:00 |
|
|
2f56f148cb
|
Fix assert_known
|
2025-07-22 22:41:20 +03:00 |
|
|
8bbee5eb41
|
Fix binops not using hint properly
|
2025-07-22 22:34:07 +03:00 |
|
|
ef427f5e58
|
Fix checking that parameters and return-type is known
|
2025-07-22 22:29:00 +03:00 |
|
|
0a90ac4497
|
Fix inner block generation
|
2025-07-22 22:15:34 +03:00 |
|
|
29d790e583
|
Start working on if-expression hands being expressions
|
2025-07-22 20:58:32 +03:00 |
|
|
28437aecb6
|
Fix indexing return type and casting to and from a char
|
2025-07-22 20:03:25 +03:00 |
|
|
bbdfae081d
|
Fix std Strings
|
2025-07-22 19:50:54 +03:00 |
|
|
3d73c52cb4
|
Fix casting within setters
|
2025-07-22 19:31:35 +03:00 |
|
|
78a1e9f06b
|
Fix typedef issue with modules
|
2025-07-22 18:03:15 +03:00 |
|
|
f35f1ef701
|
Repurpose module map and rename old to ErrorModules
|
2025-07-22 17:34:01 +03:00 |
|
|
e9bca63f0d
|
Add module id to CustomType, String to std
|
2025-07-22 16:16:46 +03:00 |
|
|
1224c612c7
|
Codegen & compile char, change *str to *char
|
2025-07-22 15:07:33 +03:00 |
|
|
e220900ac3
|
Start adding chars
|
2025-07-22 14:44:28 +03:00 |
|
|
104205ee5d
|
Type-infer and check typecasting
|
2025-07-22 13:24:53 +03:00 |
|
|
3378f556ec
|
Add AST -> MIR for typecasting
|
2025-07-21 21:28:39 +03:00 |
|
|
069c277516
|
Update String to be *str
|
2025-07-21 19:32:40 +03:00 |
|
|
3d3a9a34f9
|
Fix binary operators for floats, make library functions extern
|
2025-07-21 17:32:20 +03:00 |
|
|
ec0c7fa194
|
Fix float coersion rules
|
2025-07-21 16:53:29 +03:00 |
|
|
a1507e14ca
|
Add flag to ignore no-main-error
|
2025-07-21 16:47:51 +03:00 |
|
|
7c7dde03f9
|
Fix error reporting on No-Main-Function and add fp compilation
|
2025-07-21 16:44:16 +03:00 |
|
|
bcc93dd60c
|
Add parsing to floats
|
2025-07-21 16:18:14 +03:00 |
|
|
e370e17ffd
|
Only include STD if it is imported
|
2025-07-21 15:47:02 +03:00 |
|
|
b23577aa18
|
Check for trivial expressions that they are >0 when unsigned
|
2025-07-21 15:44:47 +03:00 |
|
|
d65b0153a1
|
Implement unary operators as syntax sugar
|
2025-07-21 15:12:49 +03:00 |
|
|
ed9c8638d5
|
Get pointers working
|
2025-07-21 14:43:24 +03:00 |
|
|
9db508bd9c
|
Change user-space pointer to different type
|
2025-07-21 13:52:37 +03:00 |
|
|
a49105b07a
|
Add typecheck/infer for pointers
|
2025-07-21 13:29:19 +03:00 |
|
|
f55040ad00
|
Update how types are formatted
|
2025-07-21 11:06:42 +03:00 |
|
|
37386db437
|
Check for mutability when doing a let
|
2025-07-21 10:43:24 +03:00 |
|
|
5763df948f
|
Check borrow mutability against variable mutability
|
2025-07-21 10:39:19 +03:00 |
|
|
1fadaa60f2
|
Add mutability compatibility check to borrows
|
2025-07-21 10:33:37 +03:00 |
|
|
74ce296a05
|
Refactor a bit
|
2025-07-21 10:29:26 +03:00 |
|
|
b9f6f2ba0f
|
Make param mutable based on type
|
2025-07-21 10:23:30 +03:00 |
|
|
60818842a5
|
Add borrow mutability
|
2025-07-21 10:21:25 +03:00 |
|
|
8da32c25c5
|
Make borrows work as function parameters as well
|
2025-07-21 10:07:56 +03:00 |
|
|
2e829bc8a9
|
Fix linker, add e2e tests
|
2025-07-21 09:59:35 +03:00 |
|
|
893eaaa865
|
Clean up and fix some warnings
|
2025-07-20 22:36:38 +03:00 |
|