Rewriting from C to C++ and/or Rust #1213
Replies: 2 comments 6 replies
-
rsgbdsMy intent with rsgbds is to eventually upstream it, replacing the current C/C++ codebase once it reaches parity. (My understanding is that Rangi was okay with this?) "Parity" means, to me, no user-facing breaking changes; the change of implementation language should not cause more headaches for downstream than any other incremental update. I'm aware this is merely wishful thinking for downstream packagers, but what they would prefer is that we don't change underlying tech at all, so someone has to give 😛 In practice, this means supporting the same distributables that we already do; the static macOS binaries will be the most sensitive, but we can probably figure that out later. |
Beta Was this translation helpful? Give feedback.
-
The C-to-C++ port has been finished since 0.8.0, and we have a clear goal for the Rust rewrite (initially no new features, just match the existing rgbasm(5) manual). |
Beta Was this translation helpful? Give feedback.
-
@ISSOtm has an ongoing personal project
rsgbds
, which is eventually intended to rewrite RGBDS in Rust (motivation: memory safety via borrow checker, error reporting, better dev experience overall, more popular for new contributors). Currently it's focused on rewriting RGBASM.@Rangi42 eventually intends to convert the existing RGBDS codebase from C to C++ (advantages: memory safety via smart pointers, generic containers, strings), starting with the minimal changes (#1176) need for it to compile as C++ at all. (RGBGFX was already rewritten in C++.)
The plan is for both of these efforts to go on in parallel. Design decisions made by one may be relevant to improving the other. This discussion is for coordinating any such design ideas.
Beta Was this translation helpful? Give feedback.
All reactions