From: trans. (T. Onoma) <tra...@ru...> - 2004-09-13 23:50:23
|
On Monday 13 September 2004 06:48 pm, David Hopwood wrote: > Oren Ben-Kiki wrote: > > Here's another option Clark didn't list, which I think sucks slightly > > less than the others. I still think explicit-no-distinction is the > > best, but this one also works for me, if I must: > > > > - > > name: default strings > > description: > > In this option, all non-plain scalars are given the default > > tag tag:yaml.org,2002:str. It is possible to force the parser > > to leave such nodes untagged by giving the "I have no tag" > > indicator (a single !). Plain scalars with no tag "have no tag" > > (have a NULL tag). > > +1 for explicit, +0.5 for this with Tim Hochberg's "! =3D NULL" suggestio= n. Have to argue against this one though. Here lets look at examples. Remeber= =20 that NULL tags just mean that the app depends on the _kind_. (hence #2 may = be=20 considered redundant) #1 --- - 23 # NULL - "23" # NULL - [] # NULL - {} # NULL wart: requires ! to _prevent_ implicit typing of non-plain scalar #2 --- - 23 # ?var - "23" # ?str - [] # ?seq - {} # ?map wart: requires ! on a ?str to get escaped plain-scalar (?var) #3 --- - 23 # ! - "23" # NULL - [] # NULL - {} # NULL wart: requires ! to _do_ implicit typing of non-plain scalar #4 --- - 23 # NULL - "23" # tag:yaml.org,2002:str - [] # NULL - {} # NULL wart: non-plain scalars default to a global YAML type and require ! to make them "NULL" to _do_ implicit typing. With #3 it seems to me like our wart has found it's way home. Since ! just= =20 means implicit. It seems to have less downsides --at least not in the same= =20 sense as the others. Its wart can also be thought of as a feature. Very interesting to compare these. #1 and #2 are opposites in form, but #1 = and=20 #3 are opposite in how the "wart" operates. > -1 for having four kinds (there isn't sufficient justification to > complicate the information model). Agreed. T. =2D-=20 ( o _ =E3=82=AB=E3=83=A9=E3=83=81 // trans. / \ tra...@ru... I don't give a damn for a man that can only spell a word one way. =2DMark Twain |