Re: YAML 1.2/1.* vs YAML 2.0
Andrey Somov <[email protected]> Thu, 3 Mar 2016 13:19:15 +0100
| Newsgroups | gmane.text.yaml.general |
|---|---|
| Message-ID | <CALbkv0cugMmnZWJACz3=ujyFwoCn4xXR8dD8MLOPvDodeUe2JA@mail.gmail.com> |
Well, I wish that: - "docker inspect" gives YAML output - "git log" gives YAML output (so I can easily parse it if I want) - "git config" uses YAML - Mercurial's .hgignore file is using YAML - YAML is the first choice to export data from MS Excel - YAML is the first choice to provide tests data (testers always complain about unreadable data structures) - YAML becomes so ubiquitous that every tool gives a way to import data in YAML format The direction is (human is actively involved): - configuration - visual data representation If the goal is to serve as serialisation format (human is passively involved), then there is no need for a new specification. Cheers, Andrey On Thu, Mar 3, 2016 at 6:51 AM, Oren Ben-Kiki <[email protected]> wrote: > On Thu, Mar 3, 2016 at 6:21 AM, Peter Murphy <[email protected]> > wrote: > >> As I observe, the problems that people have is with the multiplicity >> of ways to present the same information, and the issues some of those >> ways have. > > > +1. Note that some of the examples (such as the boolean problem) is due to > people using YAML1.1 and ignoring the pretty explicit YAML1.2 > failsafe/JSON-compatible/"Core" schema spec. A "Core"-schema YAML1.2 parser > does not have this specific problem. But some problems (such as the folded > blocks) remain. > > The removal of composite keys requires a change to the YAML _content > >> model_, on the other hand, and so it becomes impossible to represent >> the same thing that used to be representable in YAML. > > > +1 again. IMVHO we will not drop composite keys. If you don't want them, > don't use them. If your application doesn't support them, reject inputs > that use them. But they are there for those who do need them and I don't > see them going away. > > IMO YAML2.0 w/o composite keys isn't YAML2.0, it is JSON2.0. If that's > what people need - great! there have been several attempts to move the JSON > spec forward, and doing so while keeping YAML compatibility in mind would > be nice; we should ensure that YAML2.0 would be a superset of JSON2.0 - if > there is such a thing. > > In 10 years, we basically didn't hear any request for truly new features, > which I take to mean that the basic design is good - especially the data > model. I don't want to touch that part. We did get a lot of complaints > about the difficulty of parsing, and people just didn't use some of the > stuff (folded blocks, %TAG, ...). > > So the way I see it, YAML2.0 should be basically YAML1.2 minus the stuff > that people turned out not to use in the past 10 years, with the goal of > making parsing as simple as we can make it. I'd like to spend some time on > figuring out how to make the spec friendly for parser generators, for > example. The main problem is the pesky indentation rules. Maybe we can do > something about that. > > I very much like Ingy's proposal of replacing folded blocks with something > based on ". > > I think lots of people use | blocks though (I certainly do) so I'd be > careful modifying that. I like the idea of dropping the explicit > indentation integer and replacing it with the location of the | on the next > line - that's a much more elegant, and I don't think people use |2 that > much. We might be able to simplify/get rid of chomping while at it, by > using "-alone-in-the-next-line for a chomped literal block, so we'll be > able to get rid of |- as well. That's probably not used much either. > > Getting rid of directives also makes sense - basically, keeping the same > data model but saying "this data is provided externally to the parser, we > don't mandate how this is done". This would simply the syntax. > > Doing some sort of schema language would help - "we don't mandate how the > data is specified, but a recommended way is to allow loading a schema file > in this format". Again, this needs more thought. > > There are probably other proposals along these lines. We should spend some > time actively polling people for ideas. "What is your least favorite part > of YAML, and how would you fix it". > > Making it explicit the type repository is 1.1 and not 1.2 and people > shouldn't use it is also important. It is creating misconceptions (repeated > in this thread), e.g. about booleans, which are simply not true in 1.2 - > but implementations get it wrong anyway. > > An actually useful ANSI-C reference implementation (some efficient > low-level tokenizer/streaming parser), usable as a basis for higher level > libraries, would be great. > > For me, that's basically "it". > > This means YAML2.0 would "just work out of the box" for "almost all" the > configuration files out there (and there are a *lot* of these). I think > that's important. We did something similar when moving from 1.1 to 1.2. > > Ingy may have a very different notion for YAML2.0 though - if so, I'd call > the above YAML1.3. I don't see it as a revolution, I see it as an > evolution. We should reawaken Clark and see what his take on this is... > > Have fun, > > Oren Ben-Kiki > > > ------------------------------------------------------------------------------ > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 > _______________________________________________ > Yaml-core mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/yaml-core > > ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ Yaml-core mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/yaml-core