Hi Colin,
To the degree that your conception is object-oriented, in the deeper sense, it is not a problem. Your object(s) know how to persist themselves and may be considered to be extensive over that persistence -- it is merely that their morphology has changed.
Are you trying to identify names in a known problem space (e.g. a space defined by the limits of the techniques used) or to identify the problem space that you're in? For the latter, if you're going to generalise then perhaps you should also wave the specialisation of 'perfect' reproduction. So, even more generally, what you seem to describing is a special case of morphogenesis in which a 'copy' is made, e.g. lazy evaluation and cached computation can be thought of as slices in that process.
Best, Huw
On 29 December 2015 at 21:32, Chris Muller asqueaker@gmail.com wrote:
So what is this problem called?
I refer to them as the problems of "transparent persistence" and "normalization".
What theory describes the possible solutions?
I'm not sure what theories, but database implementations address these issues in practice. Your were describing Magma exactly up until the "loosen our definition" paragraph, however, there's no reason the other program could not be coded to access the Magma DB or files directly -- the complete meta-definitions are included as part of the connection process.
Are there classes of solutions that have similar trade-offs? Where can I learn more?
But, obviously you know about ODBMS's, so probably this isn't the answer you're looking for.