💻 github.com/caoimhebyrne
🎵 last.fm/user/caoimhereal
🏳️🌈 🇮🇪
this is a minecraft mod that allows you to join your last minecraft server through a button on the main menu!
modrinth.com/mod/one-clic...
this is a minecraft mod that allows you to join your last minecraft server through a button on the main menu!
modrinth.com/mod/one-clic...
i've been busy with other stuff, but it is at a stage where we have almost-parity with what it was like before i started the refactor.
today i implemented references again, which are working a little bit better than before!
(1/2)
i've been busy with other stuff, but it is at a stage where we have almost-parity with what it was like before i started the refactor.
today i implemented references again, which are working a little bit better than before!
(1/2)
we did a live stream on twitch! the refactor is going well :) a few things were implemented, most importantly though: diagnostics got a refresh! ^^
we did a live stream on twitch! the refactor is going well :) a few things were implemented, most importantly though: diagnostics got a refresh! ^^
i have a lot of code to clean up from the last few days of building 💤
i have a lot of code to clean up from the last few days of building 💤
the `null` value is considered to be `0` for integer literals (see `%force-unwrap = icmp eq i64 %optional1, 0`).
i'll have to reimplement the code-generation in a better way, thanks for pointing this out 🫶
the `null` value is considered to be `0` for integer literals (see `%force-unwrap = icmp eq i64 %optional1, 0`).
i'll have to reimplement the code-generation in a better way, thanks for pointing this out 🫶
passing an optional to something that expects a non-optional value will result in a compilation error.
(2/3)
passing an optional to something that expects a non-optional value will result in a compilation error.
(2/3)
variables previously had to be initialized with a value, but if your variable may not have a value, prefixing it with `?` tells the compiler that it may be null.
(1/3)
variables previously had to be initialized with a value, but if your variable may not have a value, prefixing it with `?` tells the compiler that it may be null.
(1/3)
i said to myself that i'd try to overcome any challenges i meet instead of just giving up. sticking to that has pushed me to go further than before! :)
github.com/caoimhebyrne...
i said to myself that i'd try to overcome any challenges i meet instead of just giving up. sticking to that has pushed me to go further than before! :)
github.com/caoimhebyrne...
this was a bit easier than i thought, i'm still a little unsure of the syntax, but it'll do for now :)
this was a bit easier than i thought, i'm still a little unsure of the syntax, but it'll do for now :)
this required a refactor of the type system. the AST now generates unresolved types, which the typechecker now resolves and verifies before code-generation.
the `type` keyword will also be used for some cool stuff in the future ^^
this required a refactor of the type system. the AST now generates unresolved types, which the typechecker now resolves and verifies before code-generation.
the `type` keyword will also be used for some cool stuff in the future ^^
as you can see by the screenshot, it now verifies types for number literals in variable declarations, and coerces them if it can safely do so!
it should be pretty trivial to expand this typechecking to function call arguments
as you can see by the screenshot, it now verifies types for number literals in variable declarations, and coerces them if it can safely do so!
it should be pretty trivial to expand this typechecking to function call arguments
number literals are now generated with their expected type, instead of just `i32`. this currently only applies to variable declarations + binary operations, since it's a bit more work to make this apply to return statements & function parameters!
number literals are now generated with their expected type, instead of just `i32`. this currently only applies to variable declarations + binary operations, since it's a bit more work to make this apply to return statements & function parameters!
the compiler for the language is written in C, and produces binaries using LLVM. the goal is to get to a stage where i can re-write the compiler in itself.
still haev a lot of work to do!
the compiler for the language is written in C, and produces binaries using LLVM. the goal is to get to a stage where i can re-write the compiler in itself.
still haev a lot of work to do!