Problems in the specs for 'gdelete' and 'gindex'
Mark H Weaver
(02 Jul 2019 04:23 UTC)
|
||
(missing)
|
||
Re: Problems in the specs for 'gdelete' and 'gindex'
Mark H Weaver
(02 Jul 2019 04:34 UTC)
|
||
Fwd: Problems in the specs for 'gdelete' and 'gindex'
John Cowan
(03 Jul 2019 02:31 UTC)
|
||
Re: Problems in the specs for 'gdelete' and 'gindex' Mark H Weaver (11 Jul 2019 23:14 UTC)
|
Re: Problems in the specs for 'gdelete' and 'gindex' Mark H Weaver 11 Jul 2019 23:11 UTC
Hi John, John Cowan <xxxxxx@ccil.org> wrote: > On Tue, Jul 2, 2019 at 12:23 AM Mark H Weaver <xxxxxx@netris.org> wrote: > > >> (1) The spec for 'gdelete' states: >> >> The = predicate is passed exactly two arguments, of which the >> first was generated by gen before the second. >> > > Clearly that sentence was copied from gdelete-neighbor-dups. Yes. > But in any case, the = argument should be an equivalence relation, > which means it is symmetrical. It would be, except that SRFI-121 explicitly specifies that the arguments will be passed in a particular order. That's a nonsymmetric promise which clearly invites users to provide a nonsymmetric '='. If that was not your intent, why make the promise? >> (2) The spec for 'gindex' makes apparently conflicting assertions about >> what should happen if 'value-gen' is exhausted before 'index-gen' is >> exhausted. First, it states: >> >> It is an error if the indices are not strictly increasing, or if >> any index exceeds the number of elements generated by value-gen. >> >> This seems to imply that it should be an error if 'value-gen' is >> exhausted first. > > > I don't think so, no. Can you provide a concrete example where following rule is applicable: "It is an error [...] if any index exceeds the number of elements generated by value-gen." and where the other specified error conditions are not applicable? >> In other words, each index should be in the range 0..N-1, where N is the >> number of elements generated by VALUE-GEN. Is that right? > > > Yes. Thanks. Regards, Mark