On Thu, Dec 3, 2015 at 9:33 PM, Per Bothner <xxxxxx@bothner.com> wrote:
I really dislike the habit of having separate names for different functions
that abstractly do the same thing - I think it is very user-unfriendly.
If a "span" is a sequence of characters, call it what it is: a string.

As I understand, the SRFI is attempting to do two orthogonal things:

1. provide a cursor-oriented API for strings (to account for non-O(1) indexing)
2. provide a cheap substring API (to remove the optional start/end-arg API hell)

Given 1, you could be more aggressive with 2 by providing e.g. ropes,
though this increases implementation complexity, makes FFIs more
difficult (e.g. it's easier to pass a span to PCRE than a rope), and
introduces the possibility that a given substring operation isn't actually
cheap (if you need to copy many links in the rope).

So I think starting with spans and letting implementations experiment
with more features is reasonable.  I agree the name is confusing, and
am also not entirely convinced this is better than the start/end arg
alternative.

-- 
Alex