On Tue, Jun 15, 2010 at 9:48 AM, William Spitzak <email@example.com>
This means that any unquoted value in YAML, if the lack of quotes is used to determine the default tag, must be tagged in the conversion. What I am unclear on is when this is allowed, the YAML spec seems to skim over this but it certainly is using unquoted to distinguish the 'null' from the 4-letter string "null".
Ingy dot Net wrote:
Right. The serialization needs to be 100% JSON.
Right, this is called "implicit typing" in YAML. Implicitly typing on quoted strings may be forced in YAML by using a single !.
number: ! "42"
I think we can do the same for JSYNC.
because space sorts before '!'. The first printable chars are:
<space> ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @
I was thinking it would be nice if the JSYNCisms key sorted above the normal keys.
I think I see but that would require all bytes < '.' to be dot-prefixed and none above to require this. This would require all control characters and double-quote to be dot-prefixed, despite the fact that they also need backslash escape for JSON. And '+' and '-' despite the fact that they are allowed in unquoted JSON. Also '(' would require it. And YAML has reserved '@' for future use so it seems that should require a dot.
So my feeling is that the short, but unfortunately non-contiguous set of "!%&*@" are the only special prefix characters.
You are probably right. Let's start with that set.