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

Geoff Adams <[email protected]> Wed, 2 Mar 2016 13:57:13 -0500
Newsgroups gmane.text.yaml.general
Message-ID <CA+n7TG8V0xvh11_XVoMn3udMB7ezGKOz39sV58iPPc-g=By7=Q@mail.gmail.com>
If the argument is just, "do exactly what JSON is doing," then why not just
use JSON?  I don't see what YAML offers at all in that case.

Best,
Geoff

On Wed, Mar 2, 2016 at 12:53 PM, Andrey Somov <[email protected]>
wrote:

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

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