Commit Graph

259 Commits

Author SHA1 Message Date
7234cad5f0 Allow &[ty; _] to be cast into *ty 2025-07-29 15:56:06 +03:00
baa068a371 Load file contents relative to module path instead of PWD 2025-07-29 15:44:14 +03:00
8b1d1084a6 Improve formatting for globals 2025-07-29 15:25:14 +03:00
f5f55079a9 Make global identifier for macro-generated globals better 2025-07-29 15:19:14 +03:00
baa7bafafc Add length-intrinsic 2025-07-29 01:15:09 +03:00
f700c577f1 Add reading file to buffer macro, only works for one global per file 2025-07-29 00:50:07 +03:00
140d963d9b Read file contents to binary within macro 2025-07-29 00:18:50 +03:00
480ba5155a Initialize global arrays in macros 2025-07-29 00:07:40 +03:00
2207c3df83 Add initial support for array globals 2025-07-29 00:06:47 +03:00
735c3231b1 Make macros generate globals 2025-07-28 23:49:22 +03:00
30257e1a2b Add global api support for llvm-lib 2025-07-28 23:20:13 +03:00
a7ac974f46 Change macro pass workflow a little bit 2025-07-28 22:57:06 +03:00
3d8f4bbd24 Implement macro-pass 2025-07-28 22:37:24 +03:00
33ed1fd813 Add macro call convention 2025-07-28 22:18:30 +03:00
67a5fcd002 Basically revert everything, create macro-pass 2025-07-28 22:11:46 +03:00
80bdf4eba8 Merge branch 'main' into macros 2025-07-28 22:03:06 +03:00
bd8994bb37 Fix linking associated functions, fix other examples 2025-07-28 22:02:49 +03:00
2e153922f1 Start adding macros 2025-07-28 21:54:51 +03:00
beaba4e7de Mangle function names, except for user defined externs 2025-07-28 20:25:36 +03:00
b643c13582 Use metadata instead of names for allocator identification 2025-07-28 19:22:03 +03:00
726251e39c Fix warnings, cleanup 2025-07-28 18:22:51 +03:00
60860498df Possibly fix binop type inference infinite recursion 2025-07-28 17:31:18 +03:00
bb7347c97b Possibly fix binop type inferrence 2025-07-28 14:30:57 +03:00
a680064b0f Improve binary operation inference, still not great 2025-07-28 14:22:27 +03:00
469ce3ce77 Improve type inferrence for binops 2025-07-28 13:02:02 +03:00
97948d8c38 Help typechecker a little bit 2025-07-28 12:18:42 +03:00
a4e18af983 Add intrinsic bit-operators 2025-07-28 12:16:14 +03:00
49084ea0af Add AST -> MIR for bitwise-operations and or 2025-07-28 11:59:20 +03:00
516833d26f Add parsing for bitwise or/and, xor and bitshifts 2025-07-28 11:53:50 +03:00
1c7a600b96 Fix pass for inner expressions 2025-07-28 02:02:30 +03:00
57b5a5cce4 Increment versions 2025-07-28 01:15:17 +03:00
2a6aceb052 Apply same self-thing to all dot-syntaxes, actually 2025-07-28 01:10:27 +03:00
1f56fa5dc3 Fix using self within self 2025-07-28 00:41:35 +03:00
dc360ef196 Implement importing of associated functions with types 2025-07-27 23:28:24 +03:00
5104555890 Fix type updating for associated function calls 2025-07-27 23:12:40 +03:00
a6a903a45d Allow borrows in associated function &self 2025-07-27 22:45:34 +03:00
676554b6a0 Improve deref parsing 2025-07-27 22:24:38 +03:00
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