This change is good and I support it, and I regret I didn't catch it in the draft period.

I'm worried, though, that such instances that the specification itself is amended
after finalization would keep happening.

Gauche added srfi-133 support soon after its finalization.  Fortunately I haven't
made a new release since then, so I can fix it.  If I've already made a release,
it would've been a bit different story.  It happened in srfi-13; the argument order of
string-filter and string-delete was changed after finalization.  I ended up to
make Gauche's version accept both order so that it wouldn't break existing code.
In vector-cumulate, it could be indistinguishable whether the caller intends
old or new interface (in case knil is a vector), so such ad-hoc fix wouldn't be possible.

Mistakes and overlooks happen, so it's unrealistic to completely prohibit
post-finalization amendment.   What I like to see is that compatibility breakages
such as argument order change to be more prominently advertised than smaller
fixes.  For example, the Status section can note there was an incompatible API
change, and also vector-cumulate entry can note the argument order is reversed
by the post-finalization errata.  How about that?



On Fri, Sep 2, 2016 at 12:33 PM, Arthur A. Gleckler <xxxxxx@speechcode.com> wrote:
I've just published fixes for errata for SRFI 133 submitted
by Jeremy Steward.  They have been approved by John Cowan,
the author of SRFI 133, so they have now been incorporated
into the public document.  I added a note to the Status
section, too.

Here are the comments Jeremy submitted with his pull
request:

  Hey Arthur, I've talked to John and we discussed that
  vector-cumulate should have the same signature as
  vector-fold and fold in terms of argument order.
  Basically the problem was that vector-cumulate had the
  following signature:

  (vector-cumulate proc vec knil)

  when it should have had the signature

  (vector-cumulate proc knil vec)

  This is more consistent, since "cumulate" is just
  accumulating the step-wise results of a fold into a single
  collection; therefore, it makes sense to be able to swap
  out folds and cumulates without changing the remaining
  order of arguments.  John already pre-approved this as an
  errata (see attached image) and I've made the correct
  changes to both SRFI docs and code.  I don't think this
  should impact people too much, as it only rearranges the
  argument order and is otherwise a very minor errata to
  distribute.  Thanks again for all the help.

  Commit Summary

  * Fixes vector-cumulate to have same signature as fold
  * Fix errata.
  * Regenerate "index.html".

  File Changes

  * M index.html (3)
  * M srfi-133.html (4)
  * M vectors/vectors-impl.scm (4)

  I should also note I forgot to pull upstream from the last
  errata fix so things look slightly out of order now.  My
  apologies as the git history is gonna be a little weird
  when merging this one.

Thanks, Jeremy and John.

— SRFI Editor
To unsubscribe from this list please goto http://www.simplelists.com/confirm.php?u=Xyn3Lfl9sYqfr1En8qzdo7SeO9Y7c7Fz