Orange 1.0.0 beta - serialization library

Jacob Carlborg doob at me.com
Sun Aug 21 03:31:32 PDT 2011


On 2011-08-20 23:29, dsimcha wrote:
> On 8/20/2011 4:24 PM, Jacob Carlborg wrote:
>>> 2. What are the prospects for submitting this for inclusion in Phobos?
>>> Serialization is something basic and universally needed enough that it
>>> should not require a third-party library.
>>
>> From my part:
>>
>> * Remove all Tango/D1 specific code
>> * Add documentation
>> * There are some few things left in the rewrite process
>
> Ok, it sounds like this isn't going to be ready that soon. I'll start
> using it as-is, as a third party library. Then I can make suggestions,
> file bug reports, etc. and streamline its eventual Phobos review.

I will add documentation and finish the rewrite regardless so it's only 
the D1/Tango specific code.

Oh, one more thing. I'm using my own kind of unit test "framework", 
don't know what people think about that. It could easily be removed though.

>> * I've made some modifications to the XML module in Phobos, these need
>> to be applied as well
>
> If we're really lucky, by the time your turn in the review queue comes
> along, Phobos will have a new and much better XML module, since Thomas
> Sowinki is apparently working on one.

Yes, hopefully. Also, some of the changes I've made are because of 
differences with the Tango and Phobos XML modules. Since it will only 
support the Phobos module it will be easier and hopefully not require as 
many changes.

>> * Probably something else I can't think of right now
>>
>> I'm not particular happy about removing the Tango/D1 specific code if
>> I'm not sure that the library can be included in Phobos.
>
> Hmm. We could review the module before you remove it, with the
> assumption that this code will be removed if accepted.

Exactly, sounds like a good idea.

>> Currently you could serialize the data an pass it send it over to
>> another thread and deserialize on the other side, but I'm guessing this
>> would be not very effective. I'm not exactly sure what's needed to be
>> done to make a clone archive and what can be shared but as you say, the
>> necessary introspection already work.
>
> Right. The idea would be to bypass serializing and unserializing and
> leverage the introspection that Orange provides to create an efficient
> clone() function. This is mostly a long-term prospect, to be considered
> more seriously if/when Orange gets into Phobos. All we'd need from
> orange is an archiver that efficiently clones without actually
> serializing or deserializing anything. Given this, the changes to
> std.concurrency would be trivial.

Yeah, I wonder if any data needs to be stored in the archive and in that 
case, how it could be stored.

-- 
/Jacob Carlborg


More information about the Digitalmars-d-announce mailing list