Re: is #f a valid index? Duy Nguyen 30 Jun 2020 10:10 UTC

On Tue, Jun 30, 2020 at 5:01 PM Marc Nieper-Wißkirchen
<xxxxxx@nieper-wisskirchen.de> wrote:
>
> Am Di., 30. Juni 2020 um 11:52 Uhr schrieb Duy Nguyen <xxxxxx@gmail.com>:
>
> > I figured as much, but why would you want that? Index-as-fixnum is
> > returned by plenty other functions, using fixnum for byte offset just
> > opens more opportunity of using a fixnum for a wrong purpose. Plus
>
> This is due to SRFI 130's adhoc polymorphism, I believe.

Again I'm not the srfi author, but I think it's for practical reason.
r7rs and many string srfis will return an index as a position in a
string. When you move in and out of "cursor domain" you have to go
through the index<->cursor conversion. So either they are distinct, or
they must have consistent semantics. In other words cursor-as-fixnum
must be index. Two different meanings using the same type is just a
recipe for disaster unless you depend on none of index-based string
functions out there.
--
Duy