Wow, it's been a long day.
This has definitely been my best coding day on Divmod yet this month. Into
the wee hours of the morning, Allen and I tore through the rest of the tasks
which I had estimated it would take the rest of the release to complete.
We also had a fun discussion about the successor to twisted.world, CARCOSA
(backronymed to "Concurrent, Atomic, Reliable Object Storage Architecture").
When we can refactor Quotient's store into a bit more general of a
structure, and also take advantage of what must be a significant speed boost
in using fixed-length rather than variable records in bsddb, we should be
able to implement everything that we had hoped for in twisted.world and
We're probably going to need to add a twisted.python.schema module, which
should be shared between Formless, CARCOSA and PB. While CARCOSA is dealing
about storage and Formless/PB is dealing with interactivity, you should be
able to express type constraints the same way.
An object which implements a TypedInterface and also specifies __schema__
itself will be able to be published on the web, transactionally stored in a
database, and also published over a custom, interactive protocol, all with
no additional work besides what the average Java programmer has to endure
when defining a class. Plus, you can develop your objects unencumbered by
the schema and only nail them down once you've developed an understanding of
their requirements through experimentation.