std.serialization: pre-voting review / discussion
ilya-stromberg
ilya-stromberg-2009 at yandex.ru
Fri Aug 23 06:34:02 PDT 2013
On Thursday, 22 August 2013 at 19:53:53 UTC, Jacob Carlborg wrote:
> On 2013-08-22 21:30, ilya-stromberg wrote:
>
>> What about more difficult cases?
>
> No it can't. It will throw an exception because it cannot find
> a "long" element:
>
> Could not find an element "long" with the attribute "key" with
> the value "b"
It's a serious issue. May be it's more important than range
support. For example, I have to change class (bug fixing, new
features, etc.), but it comparable with previos version (example:
it's always possible to convert "int" to "long"). I that case I
can't use std.serialization and have to write own solution (for
examle, save data in csv file).
The easist way to fix it - store Interface Definition of the
serialized data (should be generated automaticly). For example,
we can use XML Schema for Xml Archive. With Interface Definition
we can find changes and try to convert data to new format.
Note that glycerine also put your attention to this point:
http://forum.dlang.org/post/kftlfwcyughhghewqogm@forum.dlang.org
> 1. Interface Definition Language (IDL): required or not? If
> not, how do know the details of what to serialize. If not, how
> do you handle/support data versioning? If not, how do you
> interoperate without another language? If yes, which types are
> supported and what is the syntax and grammar of the IDL?
Ideas?
More information about the Digitalmars-d
mailing list