Results 238 comments of Aleksey Khudyakov

> I just aligned it with the original implementation I see. I missed that somehow. > Is it better to add it before your review? No need. I'll benchmark it...

Yes. This is an optimization. I used very simple benchmark ```haskell permute :: Int -> Int -> IO (Vector Int) permute sz n_it = do vec

I finally found time to review PR. Please add tests and this PR is good to go. It would be nice to add changelog entry as well and whether you...

Yes `0.13.2.0`. Adding new definitions to module requires at least minor bump according to PVP. Patch releases are for bugfixes and documentation

That's quite formidable battery of tests all right! It's more thorough than rest of benchmark suite :) I'm unhappy with inlining of worker function. It's too large. But we're running...

Thanks for reminding me. I totally forgot. I'll fix it after making release. It's fine since `vector-bench-papi` is not published on hackage anyway

I think that exposing constructors for mutable was a mistake. But is there anything that that isn't covered by `unsafe{To,From}ForeignPtr{,0}`?

> Probably not, but for primitive vectors there aren't conversions to/from ByteArrays, so I wasn't even looking for conversions to ForeignPtr. That's clearly a missing API. What I don't like...

Adding `peekVector` seems quite sensible. Few notes: - Implementation generic in vector type will require elementwise copy - We can have two functions: one that creates immutable vector and another...

I think adding full complement of `{next,prev}Permutation{,By}` is quite reasonable whenever we have function which works with `Ord` we provide way to supply comparison function as parameter. And adding `prev`...