Not a lot has happened over at JuliaLang/LinearAlgebra.jl#255 yet, but the breakage from APL-style slicing (JuliaLang/julia#13612) is already apparent. I hope there's something that can be done in Compat to ease the slicing transition. Here's one possibility:
- For 0.4,
@compat A[:,1] rewrites the :ref AST node to include a placeholder type which can be dispatched on - something like A[SliceAPL, :, 1].
- We then implement special versions of
getindex and setindex! taking a SliceAPL as the first index, which inspect the types of the incoming slice expression and squeeze out any singleton dimensions as required.
Not a lot has happened over at JuliaLang/LinearAlgebra.jl#255 yet, but the breakage from APL-style slicing (JuliaLang/julia#13612) is already apparent. I hope there's something that can be done in Compat to ease the slicing transition. Here's one possibility:
@compat A[:,1]rewrites the:refAST node to include a placeholder type which can be dispatched on - something likeA[SliceAPL, :, 1].getindexandsetindex!taking aSliceAPLas the first index, which inspect the types of the incoming slice expression and squeeze out any singleton dimensions as required.