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)
|
Hi André, If you want to submit a pull request, you can submit one through the usual GitHub process: fork the repo, make changes on your own copy, then create a PR to merge the changes in. With that said, although I appreciate the enthusiasm to help, I'm not concerned about extra assertions in the sample code. Double assertions shouldn't be a problem at all, because (ideally) 'assume' should be a no-op in production code.[1] Not that many Schemes actually do this... The missing assertions are probably an oversight, not a big deal, but if you want to make a PR for it then you can. [1] SRFI 145, Rationale section: "However, in non-debug mode, an optimizing compiler may also remove the whole test..." On 1/14/21 6:51 AM, siiky wrote: > 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á > >