Commit Graph

544 Commits

Author SHA1 Message Date
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
ea6458dddc Update documentation 2025-07-28 21:26:22 +03:00
014ba2f638 Update documentation 2025-07-28 21:23:51 +03:00
89850d7b4f Change intrinsic alloca to malloc and actually use libc malloc 2025-07-28 21:22:15 +03:00
13be3e9c02 Namespace all functions, except those that are explicitly extern 2025-07-28 21:13:53 +03:00
5026013df3 Add intrinsic malloc, use that in alloca 2025-07-28 20:46:58 +03:00
beaba4e7de Mangle function names, except for user defined externs 2025-07-28 20:25:36 +03:00
e14efa2ea7 Update allocator to remove dynamic allocations from lists/structs 2025-07-28 19:52:49 +03:00
ccee457cf4 Update documentation 2025-07-28 19:27:21 +03:00
3f81104c99 Add part of Ray Tracing in One Weekend as an example 2025-07-28 19:22:41 +03:00
b643c13582 Use metadata instead of names for allocator identification 2025-07-28 19:22:03 +03:00
e412a2e1d7 Fix allocator 2025-07-28 19:04:37 +03:00
1b1a5934f5 Implement lexical scopes 2025-07-28 18:40:42 +03:00
726251e39c Fix warnings, cleanup 2025-07-28 18:22:51 +03:00
61d3ea61ee Fix debug info 2025-07-28 18:20:00 +03:00
d0e1082029 Refactor scopes a little bit 2025-07-28 18:05:19 +03:00
60860498df Possibly fix binop type inference infinite recursion 2025-07-28 17:31:18 +03:00
7ca8949e8c Start adding lexical scopes 2025-07-28 16:11:20 +03:00
a60d35c0b0 Update readme, bump version number 2025-07-28 14:34:58 +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
2709eb8749 Compile bitwise operations as well 2025-07-28 12:21:00 +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
d06eff9347 Add rest of the bitwise operations to library 2025-07-28 12:10:01 +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
63c54ae4da Update gitignore 2025-07-28 02:06:20 +03:00
3d38b7db8d Delete foo.reid 2025-07-28 02:06:12 +03:00
1c7a600b96 Fix pass for inner expressions 2025-07-28 02:02:30 +03:00
8e71c6a47d Fix nullptr type 2025-07-28 01:47:43 +03:00
9c2f47534a Update how line number is shown in errors 2025-07-28 01:43:30 +03:00
c9909dc651 Update intrinsics documentation 2025-07-28 01:37:54 +03:00
cea756b2ad Fix derefs with casts 2025-07-28 01:36:35 +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
4844cebd56 Update documentation and readme 2025-07-28 01:06:38 +03:00
195d3d3af8 Update book to add new example 2025-07-28 01:01:02 +03:00
00c91fff60 Update standard library documentation 2025-07-28 00:52:02 +03:00
8838223a7d Add free to String, update hello_world_harder 2025-07-28 00:44:52 +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
9d5a20e76a Allow pub-keyword for impl-block 2025-07-27 22:55:34 +03:00
a6a903a45d Allow borrows in associated function &self 2025-07-27 22:45:34 +03:00