From: Brian I. <in...@tt...> - 2002-05-03 18:32:58
|
On 03/05/02 11:01 -0700, Brian Ingerson wrote: > > Thus, I suggest we be a bit more concervative, and dispatch with the > > !seq cuteness (for sparse arrays) and answer "no,no". To me, the > > consistency is more important, thus here is the proposal: > > > > | > - I fix the graph model to include keyed/series > > | > in the distinctio > > | > - We forget about (and remove from the spec) all of the cuteness > > | > regarding the !seq transfer method and keyed (for sparse arrays). > > | > - We introduce !sparse for sparse arrays if necessary. > > I'm perfectly agreeable to this. I always thought the "!seq {}" was a stupid > pet trick anyway. Make it so. Interesting thought: Why do we need/want !map and !seq at all? I say we don't. We've taken away all 3 use cases for them: - !map '' # empty map - !seq '' # empty sequence - !seq {} # sparse array They're not transfers anymore. Let's NUKE em! --- Speaking of simplification: - Can we start calling '[]' a 'sequence' instead of a 'series branch'. - Can we start calling '{}' a 'map' instead of a 'keyed branch'. I'm talking about the syntax model. Remember the good old days when YAML was just a syntax model, and we didn't have to give every concept 3 names? If you really want to use the 'branch' terms, don't you think they belong in the 'tree' model. Get it? I soon will be presenting YAML to a group of 100 people for 3 hours. If I have to make them understand that a hash is sometimes a 'map' and sometimes a 'keyed branch', I'll be left with 3 people after 100 seconds. yaml->perl->python map->hash->dict seq->array->array scalar->scalar->scalar This is for the everyday users. (Like me) Leave the nitpicky terms for implementors (like me) and the streaming app folks (like nobody). Cheers, Brian |