Discussion on "Why I no longer recommend Julia" by Yuri Vishnevsky

I think our existing tools could work well for those tasks, at least to start with:

  1. English to define the interfaces better in documentation (I think the documentation for AbstractArrays is quite thin);
  2. functions like test_array_type(MyCustomArray) for interface testing (like Invenia’s package on this);
  3. make packages called something like AlternativeArrays.jl that offer a variety of functions that accept an array and return an OffsetArray, or an AxisArray or whatever and then just go through the tests of other packages and add some for loops in there like these:
@testset "Alternative array compatibility" for f in alternative_array_factories
  @test unique(f([1, 1, 2, 3, 1])) == f([1, 2, 3])
end

Edit: And if it’s too much hassle to open a bunch of PRs on other projects, the composition tests can just be done in some package that exists only for running lots of tests. Might be easier to manage.

3 Likes