From: Brian I. <in...@tt...> - 2001-10-26 02:59:04
|
Just thinking... Now that we are using '-' for arrays, we might want to reserve '=' for tuples. Tuples are immutable lists, or constant arrays. At least that's what my Python friends tell me. Evidently, tuples are very important to these snakey people. tuple: = foo = bar Now, I think this is an implicit way of saying: tuple: !tuple - foo - bar Perl does not support tuples, so they would need to be downgraded to arrays, but that's ok. BTW, I assume we are completely rid of: foo: !class =: value Since that is easily represented as: foo: !class : value 20) Reserve '=' for implicit tuple serialization. Reserve !tuple as well. --- Hmmm. That makes me think of one more point. 21) I think the type indicator should immediately follow the colon or dash, even when the value is classed or anchored. regular string:: "Hello YAML" anchored string: &005 : "Howdy YAML" classed block: !my.text |- Y A M L --- regular string:: "Hello YAML" anchored string:: &005 "Howdy YAML" classed block:|- !my.text Y A M L I like the second production's syntax better. Perhaps we can allow either. --- I'm trying to think of a good rule for class names. We need the following: - Explicit (com.ingy.foo.bar) - Relative (.baz) - Reserved (tuple) - Private (.Data.Dumper) The problem with reserving '.' for Relative classes is that you don't how many of the nodes to inherit from the parent. Is '.baz' equal to 'com.ingy.baz', 'com.ingy.foo.baz', or 'com.ingy.foo.bar.baz'? I suggest using this: !3.baz to mean 'com.ingy.foo.baz', where 3 is the number of nodes to inherit for Relative classes. Perl will need Private class a lot. This just means my own personal class that I (possibly) generated on the fly. A object of the 'Data::Dumper' module could be serialized using: !0.Data.Dumper which could be shortened to just '.Data.Dumper'. I *will* need this kind of loosely defined class for Perl, BTW. Very important. Let's keep single words for Reserved YAML Core classes. 22) Let's use the following classnames: - !com.FatPort.foo "Explicit - fully qualified" - !2.bar.baz "Relative - 'com.FatPort.bar.baz'" - !.My.Class "Private - unregistered" - !date "Reserved - for YAML types" --- I also have the question of whether class names are case sensitive or not. My Private classes (Perl) must be. Domain names aren't. 23) Class names are case-sensitive. Any part of the name that is a real domainname *should* always be specified in lower case. More Cheers, Brian |
From: Clark C . E. <cc...@cl...> - 2001-10-26 15:07:58
|
Ok. I've done my best to be good about tabs, but I figure I'd complain once more for good measure! ;) list: - one of these things - is not like the other - one of these things - isn't quite the same - one of these things - is doing it's own thing - now can you tell me - which one - before this list is done? | tuple: | = foo | = bar | | Now, I think this is an implicit way of saying: | | tuple: !tuple | - foo | - bar Brian used tabs above. But, Brian failed to use tabs in all of the examples he gave below and Oren hasn't even attempted to start using TABS yet. | foo: !class | =: value | | foo: !class : | value | | regular string:: | "Hello YAML" | anchored string: &005 : | "Howdy YAML" | classed block: !my.text |- | Y | A | M | L | --- | regular string:: | "Hello YAML" | anchored string:: &005 | "Howdy YAML" | classed block:|- !my.text | Y | A | M | L | | | !3.baz | | | !0.Data.Dumper | | - !com.FatPort.foo "Explicit - fully qualified" | - !2.bar.baz "Relative - 'com.FatPort.bar.baz'" | - !.My.Class "Private - unregistered" | - !date "Reserved - for YAML types" I love tabs. Tabs are great beacuse: - They represent the concept of indentation rather than a particular implementation. - A tab can be visually represented as 1,2,3,4,5,6,7,8, or even more spaces depending on your editor or display. Thus, they are the most configurable. - They save enormous amounts of diskspace and bandwith. - They are the leading cause of hairloss for those programmers who are not true nerds. This makes non-nerds easily identifiable by the age of 40, separating the wheat from the chaff. Sighs, Clark P.S. Ok. I'm done voicing my complaint. We stick with tabs unless one of you fellas bring it up. |