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