Switched mailers, Joe? well, at least it will solve the pesky line-wrapping issue :-)
Joe Lapp [mailto:joe@bugfeathers.com]
 
 
I think my reaction is just to the proliferation of cryptic single-character identifiers.  I don't want to have to ask my mind to memorize the meanings of so many symbols.  While '&' and '*' may be mnemonics to C programmers, they are not mnemonics to non-C programmers and non-programmers in general.  %, @, |, ~ have no mnemonic value for me.  When reading the spec, I found this daunting.  I'd rather see a core set of symbols and everything else be English directives.
Oh. Well, Perl did pretty well in spite of taking this "line noise" to extreme. Again, it is a matter of "referring to an entry in the shared database" in order to make communication more efficient. In plain English: "people will get used to it".
 
Things aren't that bad: our "non-intuitive" characters are @, %, *, & and |. Maybe ! as well (the [ ... ] are intuitive for marking a "special section"). How about we should have a "character glossary" to prevent newbie shock? Better yet, a one-page "YAML reference card"? Suppose you had this:
YAML special characters
"    " (four spaces)
    for indentation as in list (@) and map (%).
:
    for entry, as in a map entry:
        key : value
    and a list entry:
       : value
@
    for list, as in:
        list: @
            : Entry 1
            : Entry 2
%
    for map, as in:
        map: %
            key1 : value1
            key2 : value2
|
    for block, as in:
        code: |
            main() {
                printf("Hello, world!\n");
            }
-
    for removing the last LF of a block, as in:
        line noise: |-
            !@#\'"$% (no trailing LF)
" and '
    for quoted string, as in:
        "Hello, world!\n" : 'The key says "Hello, world!\n"'
\
    for escaping in quoted strings, as in:
         "The key was written as \"Hello, world!\\n\""
----
    for separating top level maps, as in log files:
        date: 2001-07-01 21:12:34
        request: GET
        protocol: HTTP/1.0
        url: /index.html
        ----
        date: 2001-07-01 21:13:45
        request: GET
        protocol: HTTP/1.0
        url: /toc.html
        ----
! 
    for serialization,
= 
    for default value, as in:
        delivery: %
            !: date
            %: iso
            =: 2001-07-01
[ and ]
    for shorthand, as in:
        delivery [!date %iso] 2001-07-01
Would that have helped?
 
Have fun,
 
    Oren Ben-Kiki