I’m not quite sure I’m understanding you correctly, but it sounds like you want to define a new function for arrays, and then also extend that to a new type.
It might help if you could give a broader explanation of what you’re trying to do. It’s still sounding a bit like you just want some new AbstractArray
methods, in which case what you should do is define Daggered <: AbstractArray
and then simply define some methods which take an AbstractArray
argument, i.e.
trait(A::AbstractArray, args...) = # some code
(perhaps see some documentation on abstract types).
Again, not sure if this is a real example, but Daggered
of a matrix sounds quite a lot like an adjoint to me, so it might be worth looking through some of the array and linear algebra docs to see if what you’re doing is already implemented.