digitalmars.D.announce - [GSoC] std.experimental.xml is now a PR!
- Lodovico Giaretta (23/23) Aug 24 2016 Hi!
- Suliman (1/1) Aug 24 2016 Add more examples of usage please.
- Lodovico Giaretta (7/8) Aug 24 2016 Thank you very much for having a look. Did you see the examples
- Suliman (8/16) Aug 24 2016 IMHO is much better to attend every function with short example
- Lodovico Giaretta (3/12) Aug 24 2016 Understood, you are right. I'll work on this.
- Chris Wright (12/30) Aug 24 2016 I'd rather say, not everyone using D learns best from specifications plu...
- Lurker (8/31) Aug 25 2016 Looks good at first glance. How does it compare against
- Lodovico Giaretta (17/27) Aug 27 2016 Hi! Sorry for the late reply, I've been quite busy.
- NVolcz (16/39) Aug 27 2016 I like the new cursor API very much since it enables new use
- Suliman (2/48) Oct 01 2016 Examples still sucks. Hard to start use lib.
Hi! I'm pleased to announce that my GSoC project, a replacement for the outdated std.xml, is now a Phobos PR! [1] It is an (almost complete) mirror of my repository [2], which is also available on DUB [3]. I would like to thank my mentor Robert burner Schadek for his great support and everybody who already gave some feedback during these months. The PR is not meant for immediate merging. Some things still need improvement (docs/unittests/...) while others will come in a second iteration (advanced DTD handling). It is meant to for some reviews, focusing mainly on the design and usability of the library. In the PR description you will find all the details, including a nice "wishlist" of things that I found missing in D during the development and some open questions. So, if you have any consideration/suggestion, drop a line here or on the PR, and if you find bugs, don't hesitate to file an issue on the issue tracker of my repository. Thank you very much! [1] https://github.com/dlang/phobos/pull/4741 [2] https://github.com/lodo1995/experimental.xml [3] https://code.dlang.org/packages/std-experimental-xml
Aug 24 2016
On Wednesday, 24 August 2016 at 10:22:04 UTC, Suliman wrote:Add more examples of usage please.Thank you very much for having a look. Did you see the examples at [1]? I don't want to add other examples to that page, it would become too long, but maybe I could add specific examples in the pages of the various modules. What do you think? [1] https://lodo1995.github.io/experimental.xml/std/experimental/xml.html
Aug 24 2016
On Wednesday, 24 August 2016 at 10:26:53 UTC, Lodovico Giaretta wrote:On Wednesday, 24 August 2016 at 10:22:04 UTC, Suliman wrote:IMHO is much better to attend every function with short example of it's usage. For example: https://lodo1995.github.io/experimental.xml/std/experimental/xml/parser.html it's hard to understand what it's doing. Not every D-people are good programmers. A lot of people prefer to look at example to understand what function is doing. And if it's good just copy-past ready to use code.Add more examples of usage please.Thank you very much for having a look. Did you see the examples at [1]? I don't want to add other examples to that page, it would become too long, but maybe I could add specific examples in the pages of the various modules. What do you think? [1] https://lodo1995.github.io/experimental.xml/std/experimental/xml.html
Aug 24 2016
On Wednesday, 24 August 2016 at 12:00:43 UTC, Suliman wrote:On Wednesday, 24 August 2016 at 10:26:53 UTC, Lodovico Giaretta wrote:Understood, you are right. I'll work on this. Thank you.[...]IMHO is much better to attend every function with short example of it's usage. For example: https://lodo1995.github.io/experimental.xml/std/experimental/xml/parser.html it's hard to understand what it's doing. Not every D-people are good programmers. A lot of people prefer to look at example to understand what function is doing. And if it's good just copy-past ready to use code.
Aug 24 2016
On Wed, 24 Aug 2016 12:00:43 +0000, Suliman wrote:On Wednesday, 24 August 2016 at 10:26:53 UTC, Lodovico Giaretta wrote:parser.htmlOn Wednesday, 24 August 2016 at 10:22:04 UTC, Suliman wrote:IMHO is much better to attend every function with short example of it's usage. For example: https://lodo1995.github.io/experimental.xml/std/experimental/xml/Add more examples of usage please.Thank you very much for having a look. Did you see the examples at [1]? I don't want to add other examples to that page, it would become too long, but maybe I could add specific examples in the pages of the various modules. What do you think? [1] https://lodo1995.github.io/experimental.xml/std/experimental/xml.htmlit's hard to understand what it's doing. Not every D-people are good programmers.I'd rather say, not everyone using D learns best from specifications plus lengthy examples. Short, pithy examples work better for some. It's also easier to ensure that you have good coverage that way. For my part, I best learn the essentials from *short* examples and the details from prose. I can learn general usage from prose, but it takes me a fair bit longer for non-trivial things (especially when it makes heavy use of templates). I can learn details from examples, but it's much slower. This isn't a lack of programming skill on my part. It's just, I'm a human, so I'm good at pattern matching.
Aug 24 2016
On Wednesday, 24 August 2016 at 09:31:44 UTC, Lodovico Giaretta wrote:Hi! I'm pleased to announce that my GSoC project, a replacement for the outdated std.xml, is now a Phobos PR! [1] It is an (almost complete) mirror of my repository [2], which is also available on DUB [3]. I would like to thank my mentor Robert burner Schadek for his great support and everybody who already gave some feedback during these months. The PR is not meant for immediate merging. Some things still need improvement (docs/unittests/...) while others will come in a second iteration (advanced DTD handling). It is meant to for some reviews, focusing mainly on the design and usability of the library. In the PR description you will find all the details, including a nice "wishlist" of things that I found missing in D during the development and some open questions. So, if you have any consideration/suggestion, drop a line here or on the PR, and if you find bugs, don't hesitate to file an issue on the issue tracker of my repository. Thank you very much! [1] https://github.com/dlang/phobos/pull/4741 [2] https://github.com/lodo1995/experimental.xml [3] https://code.dlang.org/packages/std-experimental-xmlLooks good at first glance. How does it compare against established XML parsers performance-wise, e.g. Phobos XML, RapidXML, pugixml etc. Tango claimed to be the fastest XML parser at some point in time, curious how it compares. http://xmlbench.sourceforge.net/ might be a good start.
Aug 25 2016
On Thursday, 25 August 2016 at 21:36:34 UTC, Lurker wrote:On Wednesday, 24 August 2016 at 09:31:44 UTC, Lodovico Giaretta wrote:Hi! Sorry for the late reply, I've been quite busy. I didn't perform many comparisons against other APIs. Also, performance has not been the main target. I mean, the infrastructure for making it fast is there. The library contains a small number of string handling functions that can be optimized, leading to great speed improvements in all components. But these functions hasn't been fully optimized yet. About raw performance, the repository contains a simple benchmarking driver which I use to track performance regressions in the code. On my laptop, excluding the time needed to load the input from disk, I can easily process XML with speeds over 50MB/s, which looks like a good start. Easy win comparisons: this library is way faster than Java's built-in XML library and also way faster than the current Phobos std.xml API.[...]Looks good at first glance. How does it compare against established XML parsers performance-wise, e.g. Phobos XML, RapidXML, pugixml etc. Tango claimed to be the fastest XML parser at some point in time, curious how it compares. http://xmlbench.sourceforge.net/ might be a good start.http://xmlbench.sourceforge.net/ might be a good start.Thank you for pointing this out. I will have a look.
Aug 27 2016
On Wednesday, 24 August 2016 at 09:31:44 UTC, Lodovico Giaretta wrote:Hi! I'm pleased to announce that my GSoC project, a replacement for the outdated std.xml, is now a Phobos PR! [1] It is an (almost complete) mirror of my repository [2], which is also available on DUB [3]. I would like to thank my mentor Robert burner Schadek for his great support and everybody who already gave some feedback during these months. The PR is not meant for immediate merging. Some things still need improvement (docs/unittests/...) while others will come in a second iteration (advanced DTD handling). It is meant to for some reviews, focusing mainly on the design and usability of the library. In the PR description you will find all the details, including a nice "wishlist" of things that I found missing in D during the development and some open questions. So, if you have any consideration/suggestion, drop a line here or on the PR, and if you find bugs, don't hesitate to file an issue on the issue tracker of my repository. Thank you very much! [1] https://github.com/dlang/phobos/pull/4741 [2] https://github.com/lodo1995/experimental.xml [3] https://code.dlang.org/packages/std-experimental-xmlI like the new cursor API very much since it enables new use cases that are were hard to do with the old API. Thanks for your hard work! Examples are a bit scares. I like the way Phobos documents every functions with an unittest/example. I'm all for that! Another thing I encountered some days ago was that the default error handler is using asserts to signal error. https://github.com/lodo1995/experimental.xml/issues/30 It is not obvious from the API that you're required to have a error handler. Two ideas: Use exceptions instead of asserts. This way it is recoverable in the default use case. Require a error handler in the constructor.
Aug 27 2016
On Sunday, 28 August 2016 at 06:28:35 UTC, NVolcz wrote:On Wednesday, 24 August 2016 at 09:31:44 UTC, Lodovico Giaretta wrote:Examples still sucks. Hard to start use lib.Hi! I'm pleased to announce that my GSoC project, a replacement for the outdated std.xml, is now a Phobos PR! [1] It is an (almost complete) mirror of my repository [2], which is also available on DUB [3]. I would like to thank my mentor Robert burner Schadek for his great support and everybody who already gave some feedback during these months. The PR is not meant for immediate merging. Some things still need improvement (docs/unittests/...) while others will come in a second iteration (advanced DTD handling). It is meant to for some reviews, focusing mainly on the design and usability of the library. In the PR description you will find all the details, including a nice "wishlist" of things that I found missing in D during the development and some open questions. So, if you have any consideration/suggestion, drop a line here or on the PR, and if you find bugs, don't hesitate to file an issue on the issue tracker of my repository. Thank you very much! [1] https://github.com/dlang/phobos/pull/4741 [2] https://github.com/lodo1995/experimental.xml [3] https://code.dlang.org/packages/std-experimental-xmlI like the new cursor API very much since it enables new use cases that are were hard to do with the old API. Thanks for your hard work! Examples are a bit scares. I like the way Phobos documents every functions with an unittest/example. I'm all for that! Another thing I encountered some days ago was that the default error handler is using asserts to signal error. https://github.com/lodo1995/experimental.xml/issues/30 It is not obvious from the API that you're required to have a error handler. Two ideas: Use exceptions instead of asserts. This way it is recoverable in the default use case. Require a error handler in the constructor.
Oct 01 2016