Draft PEP on RSON configuration file format

Terry Reedy tjreedy at udel.edu
Mon Mar 1 23:55:25 EST 2010


On 3/1/2010 7:56 PM, Patrick Maupin wrote:
> On Mar 1, 5:57 pm, Erik Max Francis<m... at alcyone.com>  wrote:
>> Patrick Maupin wrote:
>> This not only seriously stretching the meaning of the term "superset"
>> (as Python is most definitely not even remotely a superset of JSON), but
>
> Well, you are entitled to that opinion, but seriously, if I take valid
> JSON, replace unquoted true with True, unquoted false with False,
> replace unquoted null with None, and take the quoted strings and
> replace occurrences of \uXXXX with the appropriate unicode, then I do,
> in fact, have valid Python.  But don't take my word for it -- try it
> out!

To me this is so strained that I do not see why why you are arguing the 
point. So what? The resulting Python 'program' will be equivalent, I 
believe, to 'pass'. Ie, construct objects and then discard them with no 
computation or output. I suggest dropping this red-herring distraction.

> But if you really want to be pedantic about it, JavaScript (rather
> than Python) is, in fact a superset of JSON, and, despite the
> disparagement JavaScript receives, in my opinion, it is possible to
> write much better looking JavaScript than JSON for many tasks.
>
> YAML, also, is a superset of JSON, and IMO, it is possible to write
> much better looking YAML than JSON.

I agree that adding a bit of syntax to something can sometimes make it 
easier to write readable text. This is hardly a new idea and should not 
be controversial.  That is why people developed 'macro assembley' as a 
superset of 'assembly' languages and why, for instance, Python added the 
'with' statement.

I read your proposal. I have not needed config files and have never 
written json or yaml and so cannot really evaluate your proposal for 
something 'in between'. It does seem plausible that it could be useful.

While using the PEP format is great, calling your currently vaperware 
module proposal a 'standards track' PEP is somewhat off-putting and 
confusing. If Guido rejected it, would you simply drop the idea? If not, 
if you would continue it as a third-party module that would eventually 
be released and announced on PyPI, I seriously suggest renaming it to 
what it is.

Terry Jan Reedy




More information about the Python-list mailing list