New draft (#2) of SRFI 214: Flexvectors Arthur A. Gleckler (14 Jan 2021 06:03 UTC)
Re: New draft (#2) of SRFI 214: Flexvectors siiky (14 Jan 2021 11:51 UTC)
Re: New draft (#2) of SRFI 214: Flexvectors Adam Nelson (05 Feb 2021 05:37 UTC)
Re: New draft (#2) of SRFI 214: Flexvectors siiky (08 Feb 2021 00:55 UTC)
Re: New draft (#2) of SRFI 214: Flexvectors Arthur A. Gleckler (08 Feb 2021 01:10 UTC)
Re: New draft (#2) of SRFI 214: Flexvectors siiky (08 Feb 2021 22:35 UTC)

Re: New draft (#2) of SRFI 214: Flexvectors siiky 14 Jan 2021 11:51 UTC

On 1/14/21 6:03 AM, Arthur A. Gleckler wrote:
> I've just published draft #2 of SRFI 214
> <https://srfi.schemers.org/srfi-214/>. It was submitted by Adam Nelson,
> author of the SRFI.
>
> Here are Adam's comments on the draft:
>
>     I've made some of the small updated I talked about, and this should
>     hopefully be the last draft of SRFI 214.
>
>     Changes:
>
>       * Removed all references to SRFI 10
>       * Changed all discussion of big-O complexity to specify that
>         flexvector operations are only as fast as the equivalent vector
>         operations in a given Scheme
>       * Added flexvector-append-map and flexvector-append!
>       * Removed flexvector-unfold!
>       * Added a table of contents for the API
>       * Increased test coverage in the sample implementation
>       * Fixed a bug in flexvector-copy! in the sample implementation
>       * I will reply to the remaining email threads soon.
>
> Here is the commit summary:
>
>   * add implementation source
>   * Apply changes from Adam Nelson.
>   * Follow US Copyright Office guidelines.
>   * Fix error reported by W3C HTML Validator.
>   * Copy edits. Publish second draft.
>
> Here's the diff:
>
>     https://github.com/scheme-requests-for-implementation/srfi-214/compare/draft-1..draft-2
>     <https://github.com/scheme-requests-for-implementation/srfi-214/compare/draft-1..draft-2>
>
> Regards,
>
>
> SRFI Editor
>

Hello,

I'm not sure this is the right place, so please forgive me if it's not,
but I found a couple of possible improvement points in the reference
implementation:

  1. `flexvector-copy`[0], when called with a flexvector, or with a
flexvector and a start, will (assume (fexvector? fv)) twice;

  2. `flexvector-copy!`[1], when called with all the supported
arguments, `(flexvector-copy! to at from start end)`, doesn't (assume
(flexvector? from)).

`vector->flexvector` and `flexvector->vector` also suffer from (1), so
it's possible more functions could be improved.

I don't know what the development process is, but I can contribute
instead of just "complaining", if you point me in the right direction.

[0]:
https://github.com/scheme-requests-for-implementation/srfi-214/blob/983ee1afbab1108c3608ba4228824f6944301d69/implementation/flexvectors-body1.scm#L193
[1]:
https://github.com/scheme-requests-for-implementation/srfi-214/blob/983ee1afbab1108c3608ba4228824f6944301d69/implementation/flexvectors-body1.scm#L212

Regards,
André Sá