On Thu, Jun 5, 2014 at 10:03 AM, Greg Ewing firstname.lastname@example.org wrote:
StringPositions could support the following operations:
StringPosition + int --> StringPosition StringPosition - int --> StringPosition StringPosition - StringPosition --> int
These would be computed by counting characters forwards or backwards in the string, which would be slower than int arithmetic but still faster than counting from the beginning of the string every time.
The SP would have to keep track of which string it's associated with, which might make for some surprising retentions of large strings. (Imagine returning what you think is an integer, but actually turns out to be a SP, and you're trying to work out why your program is eating up so much more memory than it should. This int-like object is so much more than an int.)