Re: YAML 2.0: drop arbitrary nodes to be used as keys

Andrey Somov <[email protected]> Wed, 2 Mar 2016 18:53:27 +0100
Newsgroups gmane.text.yaml.general
Message-ID <CALbkv0fOp-t8q3BRACfKGutJH7TGPTb-JR26KPY1nCXXCuKR3g@mail.gmail.com>
The ONLY argument to keep complex keys:
I am alone, I do not exchange my YAML documents with anybody else. I know
what I do.

For this usecase we do not need YAML. Everyone is free to serialise to any
personal data format.
We only need to agree on a standard when we talk to each other.


>But then, as others have pointed out, how should people serialize objects
that include mappings with non-scalar keys?
Fail. With the message - radically improve your data structures.
Do exactly the same what JSON is doing. Simplicity rocks.

Cheers,
Andrey


On Wed, Mar 2, 2016 at 6:25 PM, Geoff Adams <[email protected]> wrote:

> But then, as others have pointed out, how should people serialize objects
> that include mappings with non-scalar keys?  YAML is an attractive
> serialization format to me because it is plain-text readable, and I can use
> it to store scientific data in a way that allows me to always be sure I can
> inspect my data by eye with a text editor even if something has gone badly
> wrong on the software side.  Arbitrary restrictions on what data can be
> serialized make the format less useful to me.
>
> Best,
> Geoff
>
> On Wed, Mar 2, 2016 at 12:18 PM, Andrey Somov <[email protected]>
> wrote:
>
>>
>>
>> On Wed, Mar 2, 2016 at 6:06 PM, Geoff Adams <[email protected]>
>> wrote:
>>
>>> I wrote a libyaml wrapper for Matlab, a language which doesn't even have
>>> a real native mapping type (or didn't until very recently, and it's sort of
>>> kludged on), meaning there's no native type to easily represent mappings
>>> with scalar keys which aren't strings.  However, the most common YAML
>>> mappings, with scalar string keys, can be naturally represented with
>>> Matlab's struct type, and 95% of the time this is definitely what the user
>>> wants.  I chose to provide a generic representation, where YAML mappings
>>> are represented in Matlab as a list (cell array in Matlab parlance) of
>>> key-value pairs, as well as a specialized representation for those mappings
>>> which Matlab can represent as structs, and allowed the user to select which
>>> is appropriate for the application.  This same strategy is applied for
>>> non-scalar keys.
>>>
>>> I think this is a more appropriate strategy for parsers in languages
>>> which do not offer a simple native-type representation of non-scalar
>>> mappings (or any other useful YAML feature). If your users are telling you
>>> you need to change your YAML because they can't parse it, the problem is
>>> that their parser is not standards-compliant, not that the full YAML spec
>>> is impossible to implement in their language.  Any language that offers at
>>> least nested mixed-type lists (or some other representation of a mixed-type
>>> tree) should be able to represent any YAML document, even if that
>>> representation is less "natural" than it would be in a different language.
>>>
>>> Short version, don't drop useful features from YAML 2.0 just because
>>> they're inconvenient to implement in some languages.  If it can work in the
>>> arbitrary mess that is Matlab, it can work in your language.
>>>
>>
>> I do not say that we should drop it because it is  inconvenient to
>> implement in some languages.
>> I say that it should not be there at all !!!
>> This is the same as implicit types (http://yaml.org/type/index.html)
>> which will be fortunately dropped. If something can be done, does not mean
>> that it should be done.
>>
>>
>>
>>> Best,
>>> Geoff
>>>
>>
>>
>

------------------------------------------------------------------------------
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