make it so that (=? "hi" "hi") works Sandra Snan (25 May 2021 15:38 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (25 May 2021 15:55 UTC)
Re: make it so that (=? "hi" "hi") works Shiro Kawai (26 May 2021 00:57 UTC)
Re: make it so that (=? "hi" "hi") works John Cowan (26 May 2021 03:58 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 06:08 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 06:31 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 06:35 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 06:12 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 06:31 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 06:41 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 06:49 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 06:59 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 07:10 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 06:50 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 07:09 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 07:35 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 07:48 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 07:56 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 08:13 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 08:34 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 08:55 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 09:15 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 10:27 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 10:53 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 12:15 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 13:55 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 14:32 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 15:20 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 17:02 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 17:37 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 17:48 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 18:12 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 18:20 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 18:40 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 19:06 UTC)
Re: make it so that (=? "hi" "hi") works Marc Nieper-Wißkirchen (26 May 2021 19:25 UTC)
Re: make it so that (=? "hi" "hi") works Sandra Snan (26 May 2021 19:38 UTC)

Re: make it so that (=? "hi" "hi") works Sandra Snan 26 May 2021 07:35 UTC

Marc Nieper-Wißkirchen <xxxxxx@nieper-wisskirchen.de> writes:

> Maybe you can give us an example of the code you have in mind.

(map =? xs ys)

as opposed to

(map (cut =? comparator <> <>) xs ys)

Just as you can do

(map zero? xs)

as opposed to

(map (cut = 0 <>) xs)

>> Add1 and sub1 are a good analogies here, both which come in a version
>> without a default addend, too. + and - respectively.
>>
>
> The Scheme numeric tower is special. The arithmetic procedures are one of
> the few in Scheme that are ad-hoc polymorphic. But the Scheme number tower
> is fixed, so it is more or less just about one number type (which
> decomposes into a number of subtypes) and optimizing dispatch can be
> handled in a specific way (because the Scheme implementation knows its
> numeric types).

That is not quite what I was going after with add1.  I didn't meant to
bring up the whole float vs int thing. Instead, I meant an operator
where there is a default argument provided. 1 in the case of add1.

Add1 isn't part of the standard as far as I'm aware but it's proven
quite useful.

Another example is zero?, which is standard, and a useful shortcut over
(= 0 x).

> Relying on parameters would make the code even more inefficient (as
> would temporarily registering and restoring comparators, which would
> probably have to use dynamic-wind).

Yes. So having a version with a separate, longer name for those rare
occasions where you need to temporarily use another comparator could be
more efficient. It's rare that you need to edit the comparator and rarer
still that you need to edit it only temporarily, but, I don't want to
put hoops in place for those who want to do rare and unusual things. I
want to remove hoops for common and default things.

> NB The interplay between R7RS parameters and threads is not specified
> because R7RS does not specify threads. SRFI 18 does specify threads and the
> interplay between the dynamic environment and parameters.

> Here, newly created threads inherit the dynamic environment and thus
> parameters.

Yes, I've noticed that. And then if you change a parameter in a thread
the others can't see it, which is why mutexes.