Coding 2020-10-23

By Max Woerner Chase

I seem to have gotten the type stubs I wrote working, so that's exciting. After I publish this, I'm going to try updating the tests to be properly type-compatible before I start tossing in runtime validation using the new fields I expect to have.

The basic idea there is to write visitors for different kinds of generic aliases, so I can confirm at import time that, if the data in a module instance conforms to its type annotations, the instance should be able to attempt something when serialized. There are a few things this idea doesn't test:

I think what I want to do is get the basic runtime infrastructure together for the basic serializer checks, then work on property-based tests. The idea there is to make sure that, if I use this code, it'll end up writing something to disk. The property-based testing is to develop confidence that what's written to disk is valid. As long as I don't totally cheap out on the serializers, then it's probably not a problem if something is wrong with a loader, since I can just debug the loader and then pick things back up.

Anyway, cutting things close on time, better wrap up.

Good night.