_Best read while listening to [His Theme](https://www.youtube.com/watch?v=IkOK8tdEsFY) from Undertale_
Well gosh diddly darn frick and heck...we finally done did it. After one-hundred and thirty-three days of planning, programming, PRs, feature requests and memeing, the rewrite is **finally finished**.
I remember way back in July when we first attempted a code clean-up - our original plan was just to do a little formatting and to split some functions into separate files...nothing _too_ hard. Realistically, it should have been easy, but boy oh boy was it far from easy.
There were bugs with vectorising, parsing, stacks being passed between contexts, Generators not working properly and a whole lot more. I remember spending several nights trying to fix things but to no avail to the point where, as I put it in one commit, [I was so tired of everything being on fire.](https://github.com/Vyxal/Vyxal/commit/6273e8365e77d209350d53fb44014c2c4fd937d0) Just for the record, this isn't anyone's fault; if anything, it's on me for not creating ways of clearly and effectively communicating when things should be done and how they should be done.
The rewrite was a chance to make that right. It was a chance to establish protocols, channels of communication and create a solid foundation for future changes to be made and it was a chance to do things _properly_; before the rewrite, we did everything in a somewhat unorganised, haphazard manner before, we now utilise things like [discussions](https://github.com/Vyxal/Vyxal/discussions) to collate feedback on things we want to do. There will no longer be the issue of "too many cooks spoil[ing] the broth" as hyper-neutrino put it, because we now know what we're doing - we're working together to make an excellent golfing language and to have _fun_ while doing so.
The rewrite could never have gotten done without the efforts of all the people who helped out along the way - I could only imagine that it would take a whole lot longer than 5 months if I was doing this on my own!
- Thank you AMiller42 for coming up with helpful element overloads, for finding ACE exploits and for being a person who always manages to boost morale - you're just as much of a sh*tposter as I am, and that's a good thing IMO lol.
- Thank you cgccuser for helping me to implement elements and to deal with getting the test cases working - you made that part go much faster.
- And thank you to chunkybanana (emanresuA) as well for making the element implementation go brrr - you made a daunting task way less daunting.
- Thank you hyper-neutrino for being the moderator figure who helped keep us focused and who initially helped lead discussions and lexer/parser/transpiler writing - honestly idk how you manage to put up with us when we do stupid things like accidentally break vyxal bot because we can't regex ;p
- Massive thanks to pxeger for being our "professional development guru" if I'm allowed to call you that. I appreciate you guiding us through the process of things like branch management, clean code style and good project practices.
- Thanks to PyGamer0 for being around for the crazy ride that was the rewrite - I know you didn't contribute much code, but it's wonderful seeing you around in the Vyxal chat, and I appreciate that you're always willing to go along with the nonsense we carry on with.
- Thanks to razetime for having stuck around since the origins of Vyxal (circa July 2020) even before Vyxal was cool - I remember you helping me out with creating the first version of the online interpreter back when I had no clue on what I was doing and I appreciate that you showed genuine interest in Vyxal even though it was a small little language with a horribly/ugly codepage and a cringe af built-in set.
- And thanks to UnrelatedString for being someone willing to give feedback on potential ideas and language design features - you may not know it but I always am happy to see your identicon in the sidebar of the user list in Vyxal chat.
And of course, thank you to everyone who took the time to participate in things like PR reviews, element implementation, github management and more. I couldn't have done anything without you guys!
---
With all that said, and absolutely nothing mentioning the small overload changes that have been made, enjoy the fruits of our labour. Here's to the completion of the rewrite!
~lyxal