On Sat, Oct 14, 2017 at 7:16 AM, Shiro Kawai <xxxxxx@gmail.com> wrote:

Small editorial error first - entries from list-accumulator to vector-accumulator! are repeated twice.

Fixed.
 
Now, it is not specified what will happen if values are passed to an accumulator which has already been finalized (got eof).  Possible options:

1. Make it an error.
2. Only allows eof to be passed.  Every time it returns the same finalized values, which is cached (so finalizer is only called at most once).  It is an error it other values are passed.  (Or may be we can say other values are ignored.)
3. Allows to accumulate values even once it is finalized.  Passing eof is effectively an operation to retrieve accumulated value at that moment, but the caller can still keep accumulating values afterwards. 

I agree that #2 is correct, saying that it is an error to pass non-eof values.

--