std.serialization

Jacob Carlborg doob at me.com
Sun Feb 16 14:03:39 PST 2014


On 2014-02-16 21:45, "Nordlöw" wrote:
> I believe it's worth the try to get Python-style serialization
> simplicity to D by default. We use Python cpickle at work and its
> fantastically simple and fast. It handles just about everthing you need
> by default as long as you have imported the modules that contain the
> types involved in the serialization.
>
> It would attract more people from dynamical languages like Python if D
> got default-powers in std.serialization that does everything that
> msgpack does plus followings references.
>
> This would make it possible to serialize arbitrary graph-likes
> structures with potential reference cycles. Resolving these cycles can
> be solved by using a map that contain a list of references/classs that
> already have serialized.

I already have all this in Orange [1], which I'm in progress of adapting 
to a package for Phobos.

> I'm however not sure how serialization of base and superclasses should
> be implemented in the most convenient way. Maybe somehow has a good
> suggestion for this.

This requires registering the subclass in some way. In my implementation 
one needs to call:

Serializer.register!(Sub);

For full example see [2].

[1] https://github.com/jacob-carlborg/orange
[2] https://github.com/jacob-carlborg/orange/wiki/Base-Class

-- 
/Jacob Carlborg


More information about the Digitalmars-d-announce mailing list