[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Scheme-reports] Requesting early review of a character sequence library
I didn't find any mention of spans over mutable strings.
One can make it undefined, or an error; if the latter, is it one that needs to be caught?
(For example, each string and span could have a timestamp: the string timestamp
is increment when it is modified; a span timestamp copies that of the underlying
string when the span is created; a span is invalid if its timestamp is less than
the underlying string. Or just make it caveat programmer, which would be my preference.)
Is this proposed as part of a future Scheme specification? I really hope not.
I find the duplicate set of procedures a very ugly API, and would be strongly against
any language standard that has (for example) both string-any and span-any,
or even both span-ref and string-ref. What does this API give me that
substring/shared doesn't? Of course I know the answer: The span API can
be implemented portably without modifying the underlying string representation.
But so can substring/shared since a valid implementation is string-copy.
I see the use-case for this API: As a portable library with guaranteed
sharing, not requiring changing the string implementation. But I really don't
want to encourage people to program in this API. As a language designer and
implementor, I'd rather change the underlying string representation in my
implementation, and tell people to use substring/shared. That makes for a
much simpler and elegant language.
Scheme-reports mailing list