<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>The following is a draft list of questions for our discussion
      with Swift and WebKit representatives (tentatively) scheduled for
      this week.  Please suggest refinements or additions.  These
      questions are intended more to facilitate discussion than to
      solicit precise answers.  I'll forward these Monday (tomorrow)
      evening.<br>
    </p>
    <ol>
      <li>The Swift string manifesto is about 1 1/2 years old. What have
        you learned since writing it?  What would you change?  What have
        you changed?<br>
      </li>
      <li>Swift strings are extended grapheme cluster (EGC) based.  What
        have been the best and worst results of this choice?</li>
      <li>Swift strings do not enforce storage in any particular Unicode
        normalization form.  Was consideration given to forcing storage
        in a particular form such as FCC or NFC?</li>
      <li>Swift strings support comparison via normalization.  Has use
        of canonical string equality been a performance issue?  Or been
        a source of surprise to programmers?</li>
      <li>Swift strings are not locale sensitive.  Was any consideration
        given to creation of a distinct locale sensitive string type?</li>
      <li>Swift strings provide a count property as required to satisfy
        the Collection protocol.  How often do programmers use count
        (the number of EGCs in the string) inappropriately?<br>
      </li>
      <li>Swift strings support several memory unsafe initializers and
        methods.  How frequently are these used incorrectly?</li>
      <li>The Swift manifesto discussed three approaches to handling
        substrings and Swift 4 changed from "same type, shared storage"
        to "different type, shared storage".  Any regrets?<br>
      </li>
      <li>How often do you find programmers doing work at the EGC level
        that would be better performed at the code unit or code point
        level?</li>
      <li>Likewise, how often do you find programmers working with
        unicodeScalars, utf8, or utf16 views to do work better performed
        at the EGC level?  For what reasons does this occur?  Perhaps to
        work around differences in EGC boundaries across Unicode
        versions or the version of ICU being used?</li>
      <li>Has consideration been given to exposing Unicode character
        database properties? CharacterSet exposes some of these
        properties, but have more been
        requested?</li>
      <li>How firmly is the Swift string implementation tied to ICU?  If
        the C++ standard library were to add suitable Unicode support,
        what would motivate reimplementing Swift strings on top of it?</li>
      <li>Do Swift programmers tend to prefer string interpolation or
        string formatting functions?</li>
      <li>What enhancements would you like to see in C++ to improve
        Unicode support?<br>
      </li>
    </ol>
    Tom.<br>
  </body>
</html>