Commit graph

865 commits

Author SHA1 Message Date
Jakub Doka 7fcd652a65
fixing incompatibility
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-19 11:36:46 +01:00
Jakub Doka 3c5f5dea95
removing inlining restrictions
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 23:16:24 +01:00
Jakub Doka c8bdcd148c
ficing malformed alignment of structs
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 23:06:20 +01:00
Jakub Doka 9752c1f736
yep
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 22:25:03 +01:00
Jakub Doka 59d2a0025e
yes
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 22:08:17 +01:00
Jakub Doka da3dabafec
yep, we did not do that
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 21:50:59 +01:00
Jakub Doka 27811d2e6f
fixed some
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 21:03:43 +01:00
Jakub Doka 4826e26fdf
putting back the native target
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 18:03:48 +01:00
Jakub Doka 2c360f5626
yes
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 17:46:10 +01:00
Jakub Doka c3184a536f
welp
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 17:34:04 +01:00
Jakub Doka 6e18fecb50
disabling null checks and nerfing the mem opts
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-02-02 17:15:07 +01:00
Jakub Doka e328d43a32
refactoring strong ref to be less memorty efficient but easier to use
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-18 11:20:00 +01:00
Jakub Doka 8a9f109ffb
starting the lang rework, also learded a new pattern of borrowing
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-11 11:02:51 +01:00
Jakub Doka fa2c4bcd8f
save
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-10 10:30:42 +01:00
Jakub Doka 18e8a831ab
adding target @target directive
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-01 22:56:40 +01:00
Jakub Doka d1bc70892b
fixing release build
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-01 21:32:14 +01:00
Jakub Doka 8aee4f2890
Properly deduplicating imported functions
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-01 21:24:03 +01:00
Jakub Doka da5bd3d36a
making the invalid escape sequence fully explain the sintax
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-01 19:49:19 +01:00
Jakub Doka 6f94ae2b2a
reducing amound ot needless diagnostics caused transitively
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-01 19:20:56 +01:00
Jakub Doka 2c53f9ece9
making the generic function names distinct
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2025-01-01 19:09:31 +01:00
Jakub Doka 786e3e6bfd
forgot about pointers
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-30 14:57:03 +01:00
Jakub Doka 95e1e8bcab
fixing missing features in the cranelift backend
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-30 14:46:59 +01:00
Jakub Doka 58479deca1
polishing the compiler cli (cheating with clap)
also adding the raylib example

Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-30 13:26:38 +01:00
Jakub Doka d25540dd52
handled all the abi passing, now just test it
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-29 17:37:38 +01:00
Jakub Doka 68186ec0ce
supporting translation of all nodes
TODO: handle ABI argument passing

Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-29 16:37:24 +01:00
Jakub Doka ee67ebb017
adding cranelift backend
also splitting hbc binary into a separate crate to avoid dependency
cycle, the backand is thus far capable of compiling the simplest program
that returns an custom status code

Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-29 13:30:29 +01:00
Jakub Doka 08fc9d6ab6
gc
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-25 21:55:26 +01:00
Jakub Doka abcb3434f8
removing unwraps that can cause panics when typechecking
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-25 21:54:32 +01:00
Jakub Doka 4ebf1c7996
fixing outdated error message
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-25 21:34:58 +01:00
Jakub Doka 3f11e19a91
properly handling generic method calls
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-25 21:29:30 +01:00
Jakub Doka 51bfbdf7ae
tests are now autogenerated from the readme, this makes test names DRY
I want to reduce friction of adding new tests as much as possible

Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-25 21:17:03 +01:00
Jakub Doka 5c8f7c9c79
i am not useless after all, the invalid store elimination removed
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-25 20:27:16 +01:00
Jakub Doka 3491814b4f
i am tired
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 21:50:03 +01:00
Jakub Doka ee434e6135
more forgotten stuff
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 21:43:53 +01:00
Jakub Doka 9afe191bca
fixed a missing feature
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 21:41:28 +01:00
Jakub Doka 8ededb8612
adding standard instruction logging utility
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 21:33:15 +01:00
Jakub Doka 9c4b84ce33
fixing the precedence regarding slice ranges
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 20:43:49 +01:00
Jakub Doka 5909837015
making sure sliced pointer is loaded
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 18:53:52 +01:00
Jakub Doka 9f67b22aa2
maybe now the bug is fixed
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 17:01:36 +01:00
Jakub Doka 939d0807fb
fixing slice slicing
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-22 16:18:44 +01:00
Jakub Doka 888b38ad4c
frgot to transition @nameof to slices
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-21 23:55:02 +01:00
Jakub Doka 5275a7e0fd
adding slices
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-21 23:44:33 +01:00
Jakub Doka 418fd0039e
making the pointered arrays work properly
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-21 17:36:42 +01:00
Jakub Doka d220823d78
fixing the bug in previous commit
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-21 17:14:33 +01:00
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 1621d93e86
adding more stuff to the blog
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-20 22:54:46 +01:00
Jakub Doka 4b3b6af70e
adding habdler for tuples with known type
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-20 11:59:21 +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