Coding 2025-05-21

By Max Woerner Chase

Just one more class bro. Just one more class, and I'll have a correct implementation of call-by-push-value.

Okay, technically, it's more that I implemented the class probably correctly, but I haven't tested this, but I'm just... done for now.

I'd like to believe there's a light at the end of the tunnel, but what I see of that light looks, to be frank, pretty weird. For one thing, I'm still not sure how I'm going to handle creating and translating between these highly-similar languages. For another, my goal with implementing call-by-push-value was to have a distinction between "pure" and "impure" computation ready to go when I manage to reach 1ML, but I don't understand the different parts of all of this well enough to grasp whether the FuncType | ReturnType distinction I have manages to actually capture that.

At least it hasn't been too hard to keep mutation coverage up.

Anyway, I have nothing more to say, so I'm getting ready for bed.

Good night.