Flower is a programming language

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.

Fresh eyes

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.

Documentation

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!

Posted 2023-06-26 in meta nontechnical