Coding 2022-09-16

By Max Woerner Chase

Reverse Polish Notation challenge is complete... ish... I didn't think of a way to disambiguate how many arguments an operator takes, so I just didn't implement the unary case.

I'm reading over stuff on parsing, and I'm not sure how exactly I want to handle it. It seems like I could set things up internally in a similar manner to the scanner, but I can't really give "function that produces a tree" an iterator interface in this context, so it might look kind of weird(er).

Anyway, I want to finish up soon, so I'm just going to try to tweak the interface for contracts, and add "decorator" support to classes if I get that done quickly.

...

Okay, contracts interface tweak went fine. Now for class decoration.

...

Okay, that code seems to be in place. My priority over the next few days is to shore up contract usage over the codebase. I may also want to add a destructured higher-order-function so I can skip some explicit destructurings in the protocol methods.

Actually, one last module to add, won't even test it yet, and then I'll post. It's a thing for generating read-only proxies around tables.

...

Okay, that's all set for now, but I need, like, a spell-checker for metatable fields :/

Enough messing around, time to publish and work on the other stuff I want to get done.

Good night.