Functional and linear-updating interfaces Shiro Kawai (31 May 2021 11:05 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (31 May 2021 12:45 UTC)
Re: Functional and linear-updating interfaces Shiro Kawai (31 May 2021 15:53 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (31 May 2021 16:17 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (31 May 2021 16:35 UTC)
Re: Functional and linear-updating interfaces Shiro Kawai (31 May 2021 16:55 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (31 May 2021 17:37 UTC)
Re: Functional and linear-updating interfaces Shiro Kawai (31 May 2021 18:06 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (31 May 2021 20:56 UTC)
Re: Functional and linear-updating interfaces Shiro Kawai (31 May 2021 23:14 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (01 Jun 2021 06:14 UTC)
Re: Functional and linear-updating interfaces Shiro Kawai (02 Jun 2021 06:01 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (02 Jun 2021 06:31 UTC)
Re: Functional and linear-updating interfaces Shiro Kawai (02 Jun 2021 10:48 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (02 Jun 2021 11:45 UTC)
Re: Functional and linear-updating interfaces Shiro Kawai (02 Jun 2021 17:18 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (05 Jun 2021 12:05 UTC)
Re: Functional and linear-updating interfaces John Cowan (06 Jun 2021 16:56 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (06 Jun 2021 17:37 UTC)
Re: Functional and linear-updating interfaces Shiro Kawai (06 Jun 2021 18:05 UTC)
Re: Functional and linear-updating interfaces Wolfgang Corcoran-Mathe (07 Jun 2021 01:20 UTC)
Re: Functional and linear-updating interfaces Shiro Kawai (07 Jun 2021 04:55 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (07 Jun 2021 06:51 UTC)
Re: Functional and linear-updating interfaces Wolfgang Corcoran-Mathe (07 Jun 2021 18:55 UTC)
Re: Functional and linear-updating interfaces Shiro Kawai (07 Jun 2021 20:35 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (07 Jun 2021 20:46 UTC)
Re: Functional and linear-updating interfaces Wolfgang Corcoran-Mathe (07 Jun 2021 22:19 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (07 Jun 2021 20:39 UTC)
Re: Functional and linear-updating interfaces Wolfgang Corcoran-Mathe (07 Jun 2021 22:17 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (08 Jun 2021 06:19 UTC)
Re: Functional and linear-updating interfaces Wolfgang Corcoran-Mathe (08 Jun 2021 17:41 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (09 Jun 2021 06:14 UTC)
Re: Functional and linear-updating interfaces Wolfgang Corcoran-Mathe (09 Jun 2021 16:48 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (09 Jun 2021 17:20 UTC)
Re: Functional and linear-updating interfaces Arthur A. Gleckler (09 Jun 2021 18:21 UTC)
Re: Functional and linear-updating interfaces Wolfgang Corcoran-Mathe (09 Jun 2021 18:39 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (09 Jun 2021 18:58 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (10 Jun 2021 06:26 UTC)
Re: Functional and linear-updating interfaces Wolfgang Corcoran-Mathe (10 Jun 2021 17:18 UTC)
Re: Functional and linear-updating interfaces John Cowan (12 Jun 2021 04:51 UTC)
Re: Functional and linear-updating interfaces John Cowan (12 Jun 2021 04:48 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (07 Jun 2021 20:54 UTC)
Re: Functional and linear-updating interfaces Shiro Kawai (07 Jun 2021 23:33 UTC)
Re: Functional and linear-updating interfaces Wolfgang Corcoran-Mathe (31 May 2021 23:15 UTC)
Re: Functional and linear-updating interfaces Arthur A. Gleckler (31 May 2021 14:38 UTC)
Re: Functional and linear-updating interfaces Marc Nieper-Wißkirchen (31 May 2021 14:42 UTC)

Re: Functional and linear-updating interfaces Wolfgang Corcoran-Mathe 10 Jun 2021 17:18 UTC

On 2021-06-10 08:25 +0200, Marc Nieper-Wißkirchen wrote:
> I have given it a bit more thought, and I have two more arguments in favor
> of fxmapping vs int-mapping:
>
> (1) The current option that the keys of SRFI 224 mappings can possibly lie
> outside the fixnum range, is not really helpful but actually
> disadvantageous. Indeed, this has a long-distance effect on third-party
> libraries building on SRFI 224.
>
> [snip]
>
> (2) R6RS/R7RS-large have "+" and "fx+", but they don't have "int+". The
> reasons that speak against "int+" (denoting an addition operation that
> takes two exact integers and which is guaranteed to work when the integers
> are fixnums and which may have an implementation-optional extended range)
> speak likewise against int-mapping (vs. fxmapping).

This is starting to make sense to me.  Reading through SRFI 217 again,
I also note that it explicitly defines "isets" as collections of
fixnums (though I don't recall this issue coming up in discussion of
that SRFI), so 217 should really have used the name "fxset".

The current sample implementation is written entirely with fixnum
arithmetic, but I would like to benchmark it with generic arithmetic
and bignum keys at some point.  I wonder if there's a need to provide
special coverage for bignum-keyed maps, or if SRFI 146 mappings would
be reasonably performant?  If so, then there's no reason for SRFI 224
to handle anything beyond fixnums.

I'd like to think about it a little more, but I'm thinking that
"fxmappings" and restriction to fixnums is the best choice for
224.

--
Wolfgang Corcoran-Mathe  <xxxxxx@sigwinch.xyz>

"In conversations with Web performance advocates, I sometimes
feel like a hippie talking to SUV owners about fuel economy."
--Maciej Ceglowski