Coding 2020-10-24

By Max Woerner Chase

Okay, I sort of took today easy, so this is going to just be a quick sketch of what I'm going to try to accomplish.

This is all based off the camel library. My minimum requirements are:

Basically, most types should just be recursed on immediately, but we need special casing for lists, unions (and probably optionals), dicts, and typed dicts. Basically, we need typed dict special casing because that's what most of the data will use for serialization, and we need special casing for all supported generics because we need to consider each runtime type separately.

Another requirement that I'm not yet sure how to accomplish: no two registries should implement loaders or dumpers for the same type. (If one registry implements a dumper for a type that isn't needed by the types that bring in that registry, then that dumper won't be checked, unless I just declare that every dumper in a every registry gets checked.)

I'm tired and I don't think I can make this make much more sense for now, so I'm calling it here.

Good night.