Re: New draft of SRFI 130: Cursor-based string library John Cowan 23 May 2016 03:50 UTC

Alex Shinn scripsit:

> I initially thought immutable texts was the way to go, but from a
> practical standpoint using disjoint cursors on the same basic string
> type minimizes API fragmentation.  In particular, any API that just
> wants a piece of "text" and doesn't need cursors/indexes doesn't need
> two versions.  When you _do_ care about indexing you can make the API
> polymorphic on just the cursors, avoiding string conversions.

What I have in mind is to provide a rope API, where a rope is a Scheme
list whose members are either strings or ropes.  This could be much
simpler, make use of cursors only in a few spots, and be able to leverage
regular list operations.  Indeed, a Scheme tree API has been needed since
SRFI 1, when Olin decided to exclude tree operations, so maybe ropes
would just be supported with a few additional operations beside the
mainstream tree API.

--
John Cowan          http://www.ccil.org/~cowan        xxxxxx@ccil.org
One art / There is / No less / No more
To do / All things / With sparks / Galore   --Douglas Hofstadter