💻 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)
IntelliJ IDEA is now on Bluesky. We’re here to share coding tips, provide updates, and stay connected with you.
📢 Follow us, tag your dev friends, and help spread the word!
IntelliJ IDEA is now on Bluesky. We’re here to share coding tips, provide updates, and stay connected with you.
📢 Follow us, tag your dev friends, and help spread the word!
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 💤
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
right now, it kinda just passes expected types around between functions when generating the code, but that also means that i have to figure all of that out *again* if i want to write another code generator. (1/3)
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!
right now, it kinda just passes expected types around between functions when generating the code, but that also means that i have to figure all of that out *again* if i want to write another code generator. (1/3)
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!