Re: value "on"=True in pyyaml?

Oren Ben-Kiki <[email protected]> Tue, 1 Mar 2016 21:18:28 +0200
Newsgroups gmane.text.yaml.general
Message-ID <CADJiDhs74-HtafE2p698igRK+WJ=rXEXYdG5RPUwF6Ncj57A2Q@mail.gmail.com>
The 1.2 spec defines the JSON-compatible schema which I think satisfies all
the points you made.

We should definitely retire http://yaml.org/type/ or at least replace it
with something better. People doing YAML 1.2 should not start copying from
the current content there - you are right, this is something that hurts us.

Working on a schema language - it is a decade late, but sure, why not?
Would be fun :-)

I'm not certain I follow wrt. booleans though. Do you suggest we break JSON
compatibility?

Oren.


On Tue, Mar 1, 2016 at 9:07 PM, Ingy dot Net <[email protected]> wrote:

> This is an example of one of the biggest issues with the state of modern
> day YAML. I'd bet no 2 implementations do the same thing wrt implicit
> typing of plain scalars.
>
> I think we need to retire http://yaml.org/type/
>
> It's an idea from over 10 years ago that was well meaning but turned out
> poorly. People making new YAML frameworks still use this info.
>
> I am currently of the opinion that:
>
>    - Plain scalars in block context should only implicitly type to
>    numbers, strings or null
>       - Only JSON numerics are typed to !!int or !!float
>       - Plain (unquoted) empty value is typed to !!null
>       - Everything else is typed to !!str
>    - Booleans should migrate to only supporting !!true and !!false
>       - Loaders using a default schema should support !true !false (and
>       !null)
>       - The plain values of true and false should become strings
>       - This might take a while to get everyone on board
>    - Plain scalars in flow context should behave same as JSON.
>       - Empty values are !!null
>    - We should ditch octal, binary etc as possible implicit typing of
>    numbers
>    - We should ditch the (22 of them!!) special plain values that become
>    boolean
>       - Only true and false. In flow context. Lowercase.
>
> We can still keep the tag:yaml.org,2002 types, but we need to get out of
> the implicit grab bag business. It will be the death of YAML!
>
> ---
>
> Related to that, is the concept that every YAML loader loads YAML to
> native objects under the direction of a "schema"; but currently that
> "schema" is baked into the code implementing loader.
>
> If we had a schema language, then all loaders could load YAML according to
> a textual (thus easily reasonable) guide. Schemas could even be written for
> loaders that didn't yet support them (as part of their doc) so that people
> would know what to expect from their baked in behavior.
>
> More importantly, schemas could be written for popular YAML uses like,
> say, Ansible or TravisCI that need values loaded a particular way. These
> schemas could even be made to implicitly type true/false/null scalars, for
> backwards compat.
>
>
> On Mon, Feb 29, 2016 at 7:41 AM, Oren Ben-Kiki <[email protected]> wrote:
>
>> This is old YAML 1.0/1.1 proposed schema behavior. It was deprecated (to
>> maximize JSON compatibility among other reasons).
>>
>> On Mon, Feb 29, 2016 at 5:20 PM, <[email protected]> wrote:
>>
>>> Is this as expected?
>>>
>>>
>>> kbriggs> cat yaml_on.py
>>>
>>>
>>> import yaml
>>> x="""
>>>  0: on
>>>  1: ON
>>>  2: 'ON'
>>> """
>>> print yaml.load(x)
>>>
>>>
>>> kbriggs> python yaml_on.py
>>> {0: True, 1: True, 2: 'ON'}
>>>
>>>
>>>
>>> Keith
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> 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
>>
>>
>

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