dxml 0.2.0 released

rikki cattermole rikki at cattermole.co.nz
Mon Feb 12 15:26:24 UTC 2018


On 12/02/2018 3:08 PM, Adam D. Ruppe wrote:
> On Monday, 12 February 2018 at 14:54:48 UTC, rikki cattermole wrote:
>> Just because something is 'good enough' does not make it 'good enough' 
>> for Phobos. In the words of Andrei "Good enough is not good enough", 
>> we need to aim higher to show what we actually can do.
> 
> About 5 years ago (I think, I actually have the link on my other 
> computer but it is 2,000 miles away right now), Andrei said something 
> along the lines of "without the review process, we get junk like std.json".
> 
> Ironically, that same review process may be why we still have such 
> "junk". (actually personally, I don't hate std.json).
> 
> If std.xml is really so bad and has been for so long, surely we ought to 
> take an opportunity to change that, even if the change isn't perfect.

It depends.

The implementation does not need to be perfect or full fledged to go 
into experimental.

But if at the start of the review process it is already well known that 
the public API would require a complete change to accommodate the 
intended goal it is unacceptable.

Take std.experimental.allocators as an example. It currently is going 
through a massive API change, but when it first got PR'd, did we know 
that we should be RC'ing allocators? No of course not, otherwise we'd 
have done it.

At this point in time I cannot say that dxml in good faith serves to 
represent the XML specification for the D community in full. This is 
unfortunately not about bike shedding.

It is one thing to bike shed features, but when scope does not match the 
intended goal, we have got to be careful about what goes into Phobos.

All J.M.D. has to do to change this, is make the API match the spec (as 
close as possible, without writing another parser) and separate out the 
implementation into a different and very clear module (probably a sub 
package) which states clearly that it is a subset with the full grammar 
listed that it supports.

That way everybody is clear and we can later on get a full 
implementation as part of taking it out of experimental :)


More information about the Digitalmars-d-announce mailing list