Hello,
I'd like to study how the implementation is for a particular function in
Base. Is there an easy way of following the sequence of functions that are
dispatched when I call the function with a particular type?
For instance, I want to see how `display(::Array{T,N})` is implemented for
`N>2`, because I want to implement similar code for
`display(::NamedArray{T,N})`.
So I find myself going down the chain of calls
@less display(rand(2,3,4))
@less display(Base.Multimedia.displays[1], rand(2,3,4))
@less display(Base.Multimedia.displays[1], MIME"text/plain"(), rand(2,3,4))
@less writemime(Base.Multimedia.displays[1].io, MIME"text/plain"(), rand(2,3
,4))
etc. Each time I peek into a function dispatch, there is another single
line function, and I have to look one line deeper, change the types, etc,
until I hope to get to the body where the code is that actually prints the
3D array to the display. Is there a more automated way of unrolling what
is going on when you start form a single statement like `display(rand(2,3,4
))`?
Thanks,
---david