Re: : in the flow context for PyYAML and SnakeYAML

William Spitzak <[email protected]>
Newsgroups gmane.text.yaml.general
Message-ID <[email protected]>
Kirill Simonov wrote:

> By unquoted JSON, do you mean something like:
>     {foo:"bar"}

Yes, though
	{foo: "bar"}
is probably a better example (note the space!)

> This is definitely not a valid JSON and I'm certain most of the JSON 
> parsers will fail to parse it.

However there are a lot of pseudo-JSON parsers that *do* parse it, 
including libyaml itself!

The problem is that except for libyaml, every single parser I know of 
that can read the version with the space will also read the version 
without the space. This is a very rude suprise to users who will 
logically think that yaml reads a superset of some definition they are 
familiar with. It can "sort of" read unquoted JSON, but not all the files.

At least the current version produced an error, so the user knows 
something went wrong (although I had to pretty quickly patch it and 
remove the test because I encountered so many files that would not 
read). But if you change it to silently produce unexpected results I 
think it will be a disaster!

If the concern is for typing url data in, I would just change the rules 
for colon for an unquoted scaler depending on whether a key or value is 
being read in. You could even allow following spaces. The following:

	{foo:http:baz: zoo}

would be interpreted as:

	{"foo" : "http:baz: zoo")

It would seem that such a design is much more in keeping with the style 
of YAML.

------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users 
worldwide. Take advantage of special opportunities to increase revenue and 
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.