www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Orange - a serialization library

reply Jacob Carlborg <doob me.com> writes:
This if the first release of the Orange serialization library. Here is a 
short description of the library:

Orange is a serialization library for D1 and D2, supporting both Tango 
and Phobos. It can serialize most of the available types in D, including 
third party types and can serialize through base class references. It 
supports fully automatic serialization of all supported types and also 
supports several ways to customize the serialization. Orange has a 
separate front end (the serializer) and back end (the archive) making it 
possible for the user to create new archive types that can be used with 
the existing serializer.

http://dsource.org/projects/orange

-- 
/Jacob Carlborg
Jul 25 2010
next sibling parent reply BLS <windevguy hotmail.de> writes:
On 25/07/2010 16:08, Jacob Carlborg wrote:
 This if the first release of the Orange serialization library
XML D2/Phobos problem solved ? Bjoern
Jul 27 2010
parent reply Jacob Carlborg <doob me.com> writes:
On 2010-07-27 15:13, BLS wrote:
 On 25/07/2010 16:08, Jacob Carlborg wrote:
 This if the first release of the Orange serialization library
XML D2/Phobos problem solved ? Bjoern
Yes, it's fixed. I'm including a modified version of the whole std.xml module, not pretty but it works. -- /Jacob Carlborg
Jul 27 2010
parent reply "Masahiro Nakagawa" <repeatedly gmail.com> writes:
On Wed, 28 Jul 2010 06:10:21 +0900, Jacob Carlborg <doob me.com> wrote:

 On 2010-07-27 15:13, BLS wrote:
 On 25/07/2010 16:08, Jacob Carlborg wrote:
 This if the first release of the Orange serialization library
XML D2/Phobos problem solved ? Bjoern
Yes, it's fixed. I'm including a modified version of the whole std.xml module, not pretty but it works.
One question. http://dsource.org/projects/orange/browser/orange/xml/PhobosXML.d Why use string mixin? Masahiro
Jul 27 2010
parent reply g g <f spamme.cocor> writes:
Masahiro Nakagawa Wrote:

 On Wed, 28 Jul 2010 06:10:21 +0900, Jacob Carlborg <doob me.com> wrote:
 
 On 2010-07-27 15:13, BLS wrote:
 On 25/07/2010 16:08, Jacob Carlborg wrote:
 This if the first release of the Orange serialization library
XML D2/Phobos problem solved ? Bjoern
Yes, it's fixed. I'm including a modified version of the whole std.xml module, not pretty but it works.
One question. http://dsource.org/projects/orange/browser/orange/xml/PhobosXML.d Why use string mixin? Masahiro
Cause it isn't necessary for tango or even lexicaly incorrect for some versions of the compiler
Jul 27 2010
next sibling parent "Masahiro Nakagawa" <repeatedly gmail.com> writes:
On Wed, 28 Jul 2010 12:36:34 +0900, g g <f spamme.cocor> wrote:

 Masahiro Nakagawa Wrote:

 On Wed, 28 Jul 2010 06:10:21 +0900, Jacob Carlborg <doob me.com> wrote:

 On 2010-07-27 15:13, BLS wrote:
 On 25/07/2010 16:08, Jacob Carlborg wrote:
 This if the first release of the Orange serialization library
XML D2/Phobos problem solved ? Bjoern
Yes, it's fixed. I'm including a modified version of the whole std.xml module, not pretty but it works.
One question. http://dsource.org/projects/orange/browser/orange/xml/PhobosXML.d Why use string mixin? Masahiro
Cause it isn't necessary for tango or even lexicaly incorrect for some versions of the compiler
Thanks. I didn't know this technique. Hmm...
Jul 27 2010
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2010-07-28 05:36, g g wrote:
 Masahiro Nakagawa Wrote:

 On Wed, 28 Jul 2010 06:10:21 +0900, Jacob Carlborg<doob me.com>  wrote:

 On 2010-07-27 15:13, BLS wrote:
 On 25/07/2010 16:08, Jacob Carlborg wrote:
 This if the first release of the Orange serialization library
XML D2/Phobos problem solved ? Bjoern
Yes, it's fixed. I'm including a modified version of the whole std.xml module, not pretty but it works.
One question. http://dsource.org/projects/orange/browser/orange/xml/PhobosXML.d Why use string mixin? Masahiro
Cause it isn't necessary for tango or even lexicaly incorrect for some versions of the compiler
Exactly, there a several features in D2 that is lexical illegal in D1. I thought that it was the easiest solution, instead of creating a build system that excluded the file for D1, then people are free to use their own build system instead of a specific one they perhaps don't like. -- /Jacob Carlborg
Jul 28 2010
parent reply strtr <strtr sp.am> writes:
== Quote from Jacob Carlborg (doob me.com)'s article
 Exactly, there a several features in D2 that is lexical illegal in D1. I
 thought that it was the easiest solution, instead of creating a build
 system that excluded the file for D1, then people are free to use their
 own build system instead of a specific one they perhaps don't like.
Funny solution :) Is the xml code different from dsource's std2.xml ? The api reference is a bit too tidy to my liking ;)
Jul 28 2010
parent Jacob Carlborg <doob me.com> writes:
== Quote from strtr (strtr sp.am)'s article
 == Quote from Jacob Carlborg (doob me.com)'s article
 Exactly, there a several features in D2 that is lexical illegal in D1. I
 thought that it was the easiest solution, instead of creating a build
 system that excluded the file for D1, then people are free to use their
 own build system instead of a specific one they perhaps don't like.
Funny solution :) Is the xml code different from dsource's std2.xml ? The api reference is a bit too tidy to my liking ;)
The difference is that I added a parent attribute to the Element class, I also added a few wrapper methods to make it easier to wrap in a tango interface.
Jul 28 2010
prev sibling parent reply dsimcha <dsimcha yahoo.com> writes:
== Quote from Jacob Carlborg (doob me.com)'s article
 This if the first release of the Orange serialization library. Here is a
 short description of the library:
 Orange is a serialization library for D1 and D2, supporting both Tango
 and Phobos. It can serialize most of the available types in D, including
 third party types and can serialize through base class references. It
 supports fully automatic serialization of all supported types and also
 supports several ways to customize the serialization. Orange has a
 separate front end (the serializer) and back end (the archive) making it
 possible for the user to create new archive types that can be used with
 the existing serializer.
 http://dsource.org/projects/orange
Nice work! I'll try it out eventually, but right now I've been too busy with stuff that doesn't require serialization. This is another nice little library that would be useful to a lot of people but has "dependency hell" written all over it if D users are generally required to go out and install small misc. pieces of functionality like this themselves. IMHO eventually serialization belongs in the std. lib and seeing that Orange is Boost licensed, once some of the XML and compiler issues are fixed, this may be a good candidate.
Jul 27 2010
parent Jacob Carlborg <doob me.com> writes:
On 2010-07-27 17:30, dsimcha wrote:
 == Quote from Jacob Carlborg (doob me.com)'s article
 This if the first release of the Orange serialization library. Here is a
 short description of the library:
 Orange is a serialization library for D1 and D2, supporting both Tango
 and Phobos. It can serialize most of the available types in D, including
 third party types and can serialize through base class references. It
 supports fully automatic serialization of all supported types and also
 supports several ways to customize the serialization. Orange has a
 separate front end (the serializer) and back end (the archive) making it
 possible for the user to create new archive types that can be used with
 the existing serializer.
 http://dsource.org/projects/orange
Nice work! I'll try it out eventually, but right now I've been too busy with stuff that doesn't require serialization. This is another nice little library that would be useful to a lot of people but has "dependency hell" written all over it if D users are generally required to go out and install small misc. pieces of functionality like this themselves. IMHO eventually serialization belongs in the std. lib and seeing that Orange is Boost licensed, once some of the XML and compiler issues are fixed, this may be a good candidate.
Thanks. I'm more than happy to make the necessary changes to include Orange in Phobos. -- /Jacob Carlborg
Jul 27 2010