Status of std.serialization?

JN 666total at wp.pl
Fri Jun 21 07:22:07 UTC 2019


On Thursday, 20 June 2019 at 09:29:09 UTC, Bastiaan Veelo wrote:
> On Wednesday, 19 June 2019 at 22:42:07 UTC, std lib wrote:
>> https://wiki.dlang.org/Review/std.serialization is dead, but 
>> is there hopes of adding it (or something like it) to phobos?
>
> Not an answer to your question, but still on topic: 
> http://dconf.org/2019/talks/schveighoffer.html

Serialization can be tricky to make. Sure, at first you can be 
like "just use tupleof/static foreach/_allMembers and you have 
your serialization, D is so easy and awesome!". But then you hit 
some tougher usecases for serialization:

- adding serialization support for custom types (especially ones 
you can't modify)
- serializing/deserializing polymorphic types by base class 
reference
- multiple formats - json/xml/yaml/binary

I think any std.serialization attempt would need to have a 
modular approach with at least two modules. One module would be 
output-format agnostic and responsible for annotations. Marking 
variables which should be serialized, ones that shouldn't, ones 
that should be but with a different name, and with some form of 
serializeTo/deserializeFrom methods. The other module would be 
output format specific, something like XmlSerialization, which 
takes the definitions created by the first module and converts 
the data from/to the expected format.


More information about the Digitalmars-d mailing list