Open issues summary #1 shivers@xxxxxx 04 Nov 1999 13:56 UTC

Here is a list of the open issues on which I'd like to hear opinions and
discussion. (It's not an exhaustive list; feel free to raise other issues).
    -Olin

- STRING-APPEND accepts chars as well as strings?
  Would give a kind of "string cons" for free...
  If we altered STRING-APPEND to accept characters as well as strings,
  we would get the ability to "cons" characters onto the head or tail of
  strings, e.g. (string-append c1 c2 s).

  Yes:
  No: bengt egorov

- Comparison functions n-ary?
  Yes:
  No: shivers, bengt, egorov

  Should the string comparison functions such as STRING= and STRING<
  be generalised to be n-ary? E.g., should we be able to write
    (string< s1 s2 s3)
  I have specified these functions as dyadic only. You can certainly make
  a case for greater generality. However,

    - Unlike numeric inequalities, I do not think this generality will be
      useful in practice.

    - It doesn't extend well to the *sub*string comparison functions
      or the three-way comparison functions. To get it to work for the
      three-way comparison functions, you'd have to put the continuations
      first, then the strings after. This is pretty ugly; the usual convention
      is continuations last. This is not a completely compelling argument,
      but it does weigh some.

      Extending to the substring comparison functions -- both the predicates
      and the 3-way continuation-based functions is even uglier.

      Finally, if we were to do this, we ought to really follow through
      and make the 8 prefix-count functions n-ary.

      I think it's too much complexity.

  Note that Rice's MzScheme provides n-ary string comparison.

- Include STRING-TOKENIZE?
  Yes: bengt, shivers, egorov

- Include STRING-REDUCE and STRING-REDUCE-RIGHT ?
  Yes: bengt, shivers
  No: egorov

- SUBSTRING and copying/shared-text semantics:
  Liberal: Olin
  Conservative: Egorov?, Bornstein?

  The two choices are
  + Conservative -- Drop SUBSTRING. Add STRING-COPY & SUBSTRING/SHARED
  + Liberal -- Add STRING-COPY; alter SUBSTRING to allow shared-text
    reuse.

- STRING-ITER vs STRING-ITERATE
  Iter: Olin
  Iterate: Egorov

- -COUNT versus -LENGTH
  -COUNT:
  -LENGTH: Egorov
  No opinion: Shivers

  These				or these?
  -------------------------	--------------------------
  string-prefix-count           string-prefix-length
  string-suffix-count           string-suffix-length
  string-prefix-count-ci        string-prefix-length-ci
  string-suffix-count-ci        string-suffix-length-ci
  substring-prefix-count        substring-prefix-length
  substring-suffix-count        substring-suffix-length
  substring-prefix-count-ci     substring-prefix-length-ci
  substring-suffix-count-ci     substring-suffix-length-ci