www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - D:YAML 0.2 released

reply Kiith-Sa <42 theanswer.com> writes:
I've just released D:YAML 0.2 . This release brings emitting functionality, 
finishing the main part of D:YAML feature set. From now on, the focus will 
be on polishing D:YAML, making code more maintainable, optimizing and 
improving documentation.

D:YAML is a YAML parser and emitter library for D.

Emitting code has been fully implemented (mostly translated from PyYAML),
along with support for emitting custom types (loading custom types 
already works with 0.1).

YAML tags are now stored in nodes, allowing D:YAML to be more compliant to 
the specification.

Many scanner, composer and constructor bugs have been fixed.

Loader API has been broken to make it more extensible in future - 
Representer and Constructor are no more specified in the constructor,
and the load() shortcut functions have been removed, as all that's needed to
load a YAML document now is Loader("file.yaml").load() .

Tutorials, API documentation and examples have been updated to reflect the 
changes.


Note that D:YAML is still a work in progress and its API might yet see some 
compatibility breaking changes. Basic Loader/Dumper API is unlikely to break
any more, but it will be updated when std.stream is rewritten.

GitHub: https://github.com/kiith-sa/D-YAML
Docs  : dyaml.alwaysdata.net/docs

You can get D:YAML 0.2 here: https://github.com/kiith-sa/D-YAML/downloads
Oct 15 2011
next sibling parent reply bls <bizprac orange.fr> writes:
Am 15.10.2011 19:06, schrieb Kiith-Sa:
 I've just released D:YAML 0.2 . This release brings emitting functionality
... what do you think about bringing in (adapt) your YAML tool into the Orange serialisation library. (orange.. https://github.com/jacob-carlborg/orange) Sounds probably not too interesting but in conjunction with the upcoming std.database/ ORM stuff Serialisation/De-Serialisation will become pretty important . // occupied snippet from Orange .. class Foo { int a; } void main () { auto foo = new Foo; // create something to serialize foo.a = 3; // change the default value of "a" auto archive = new YAMlArchive!(char); // create an yaml archive auto serializer = new Serializer(archive); // create the serializer serializer.serialize(foo);
Oct 15 2011
parent Kiith-Sa <42 theanswer.com> writes:
bls wrote:

 Am 15.10.2011 19:06, schrieb Kiith-Sa:
 I've just released D:YAML 0.2 . This release brings emitting
 functionality
... what do you think about bringing in (adapt) your YAML tool into the Orange serialisation library. (orange.. https://github.com/jacob-carlborg/orange) Sounds probably not too interesting but in conjunction with the upcoming std.database/ ORM stuff Serialisation/De-Serialisation will become pretty important . // occupied snippet from Orange .. class Foo { int a; } void main () { auto foo = new Foo; // create something to serialize foo.a = 3; // change the default value of "a" auto archive = new YAMlArchive!(char); // create an yaml archive auto serializer = new Serializer(archive); // create the serializer serializer.serialize(foo);
I can't rule out doing this in the future, but it seems like Orange work, not D:YAML work. Currently, D:YAML API is still not stable, so I don't think it would be a good idea right now anyway. Once the API is stable, I'll do a 1.0 release. Further releases will see no breaking changes.
Oct 16 2011
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2011-10-15 19:06, Kiith-Sa wrote:
 I've just released D:YAML 0.2 . This release brings emitting functionality,
 finishing the main part of D:YAML feature set. From now on, the focus will
 be on polishing D:YAML, making code more maintainable, optimizing and
 improving documentation.

 D:YAML is a YAML parser and emitter library for D.

 Emitting code has been fully implemented (mostly translated from PyYAML),
 along with support for emitting custom types (loading custom types
 already works with 0.1).

 YAML tags are now stored in nodes, allowing D:YAML to be more compliant to
 the specification.

 Many scanner, composer and constructor bugs have been fixed.

 Loader API has been broken to make it more extensible in future -
 Representer and Constructor are no more specified in the constructor,
 and the load() shortcut functions have been removed, as all that's needed to
 load a YAML document now is Loader("file.yaml").load() .

 Tutorials, API documentation and examples have been updated to reflect the
 changes.


 Note that D:YAML is still a work in progress and its API might yet see some
 compatibility breaking changes. Basic Loader/Dumper API is unlikely to break
 any more, but it will be updated when std.stream is rewritten.

 GitHub: https://github.com/kiith-sa/D-YAML
 Docs  : dyaml.alwaysdata.net/docs

 You can get D:YAML 0.2 here: https://github.com/kiith-sa/D-YAML/downloads
I can see that D:YAML is Boost licensed, how does that work out when PyYAML is MIT licensed? -- /Jacob Carlborg
Oct 16 2011
parent reply Kiith-Sa <42 theanswer.com> writes:
Jacob Carlborg wrote:

 On 2011-10-15 19:06, Kiith-Sa wrote:
 I've just released D:YAML 0.2 . This release brings emitting
 functionality, finishing the main part of D:YAML feature set. From now
 on, the focus will be on polishing D:YAML, making code more maintainable,
 optimizing and improving documentation.

 D:YAML is a YAML parser and emitter library for D.

 Emitting code has been fully implemented (mostly translated from PyYAML),
 along with support for emitting custom types (loading custom types
 already works with 0.1).

 YAML tags are now stored in nodes, allowing D:YAML to be more compliant
 to the specification.

 Many scanner, composer and constructor bugs have been fixed.

 Loader API has been broken to make it more extensible in future -
 Representer and Constructor are no more specified in the constructor,
 and the load() shortcut functions have been removed, as all that's needed
 to load a YAML document now is Loader("file.yaml").load() .

 Tutorials, API documentation and examples have been updated to reflect
 the changes.


 Note that D:YAML is still a work in progress and its API might yet see
 some compatibility breaking changes. Basic Loader/Dumper API is unlikely
 to break any more, but it will be updated when std.stream is rewritten.

 GitHub: https://github.com/kiith-sa/D-YAML
 Docs  : dyaml.alwaysdata.net/docs

 You can get D:YAML 0.2 here: https://github.com/kiith-sa/D-YAML/downloads
I can see that D:YAML is Boost licensed, how does that work out when PyYAML is MIT licensed?
I asked Kirill Simonov (the PyYAML dev) about releasing D:YAML under the Boost license, he said he has no problem with that.
Oct 16 2011
parent Jacob Carlborg <doob me.com> writes:
On 2011-10-16 11:45, Kiith-Sa wrote:
 Jacob Carlborg wrote:

 On 2011-10-15 19:06, Kiith-Sa wrote:
 I've just released D:YAML 0.2 . This release brings emitting
 functionality, finishing the main part of D:YAML feature set. From now
 on, the focus will be on polishing D:YAML, making code more maintainable,
 optimizing and improving documentation.

 D:YAML is a YAML parser and emitter library for D.

 Emitting code has been fully implemented (mostly translated from PyYAML),
 along with support for emitting custom types (loading custom types
 already works with 0.1).

 YAML tags are now stored in nodes, allowing D:YAML to be more compliant
 to the specification.

 Many scanner, composer and constructor bugs have been fixed.

 Loader API has been broken to make it more extensible in future -
 Representer and Constructor are no more specified in the constructor,
 and the load() shortcut functions have been removed, as all that's needed
 to load a YAML document now is Loader("file.yaml").load() .

 Tutorials, API documentation and examples have been updated to reflect
 the changes.


 Note that D:YAML is still a work in progress and its API might yet see
 some compatibility breaking changes. Basic Loader/Dumper API is unlikely
 to break any more, but it will be updated when std.stream is rewritten.

 GitHub: https://github.com/kiith-sa/D-YAML
 Docs  : dyaml.alwaysdata.net/docs

 You can get D:YAML 0.2 here: https://github.com/kiith-sa/D-YAML/downloads
I can see that D:YAML is Boost licensed, how does that work out when PyYAML is MIT licensed?
I asked Kirill Simonov (the PyYAML dev) about releasing D:YAML under the Boost license, he said he has no problem with that.
Ok, thanks. -- /Jacob Carlborg
Oct 16 2011