The Return of a Developer
Back at it
So, after almost 6 months of not-much-at-all going on, I finally have some time again to work on Flower. It's still a bit thin, but at least we're back to moving.
So, what did I see when I came back? Some bad design choices that I made in haste when I tried to push it. It's not all that bad though, but something I really think I need to fix sooner than later. Nothing grand, just rewriting the VM parts a bit, but enough that I probably should just wish that I get it into action before this year's Advent of Code.
So, we're moving again, but we are also crawling. On the positive side, there is a lot I'm pretty confident I did right enough the first time around, and there's little need to work on that.
But there's one thing a couple months of a break really made me notice.
I need documentation. Some kind of a specification for the VM language, because deciphering what a bytecode should look like from reading generation code is not exactly fast or error-free.
Most of the compiler parts are pretty easy to read (at least for myself), so there's not that much of a problem with the code itself, but I really, really need to have some kind of thought-out format for the bytecode before I write the virtual machine.
Yeah, winging it could've worked if I did all of that in one go. But returning into it after a couple of months before it was finished? Yeah, good luck.
So, item #1 now: Design and document the bytecode, then rewrite the VM.
Another positive note though, I pretty much immediately figured out both a better and clearer way to write it. I just have to trust compiler inlinings a little more...
Praise the tests
Also, all the tests I had made before are extremely useful now that I have to rewrite some 5-month old code I haven't touched since. I am already thanking myself about those, and quite frankly, I'm not sure how close I would be to throwing in the towel if I had not made tests already.
Now? It's pretty much a breeze to get back into it. Which I already somewhat did.
There's other somewhat positive things that might help me design Flower better in the future, but we'll see.
Anyways, this was a bit short one, but just wanted to put it out there that Flower is back in development after a couple month of hiatus. Probably aren't going to go through git logs this month, but see you in July!