-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wishlist: API and documentation for extending broadcast #20740
Comments
I'm also wondering if we could restructure the broadcast code to detect the right return type for non-base arrays such that custom |
Agreed, chances are we should restructure |
@Sacha0 Thanks for keeping track of the previous discussions. It is really useful to have the references. |
My pleasure. I hope to write up some thoughts whenever the time is right. Best! |
I suspect the time is now since we're entering 0.6 feature freeze :) |
Yes, I was hoping to understand this better so I can make the StaticArrays implementation more compatible. |
As someone who is also a fan of the AbstractArray interface, a guide on what to do to get broadcasting work smoothly with custom types would be very appreciated. |
Ref. to related discussion 746dbb0#commitcomment-22403175 |
Perhaps should receive a 1.0 tag? |
(Crossref #22060.) |
the issue of container type promotion seems a bit separate from the fusion issue? may touch similar parts of the base code though |
Similar to #22060, can evolve over 1.x. |
We have extensive documentation on the array interface, specifically how to extend
getindex
andsetindex!
for arbitrary array types. In 0.6, julia's broadcasting is more awesome and central than ever; it would seem appropriate to have some discussion about how one should go about specializing broadcasting behavior. An example of a package that's about to take a do-it-yourself plunge is JuliaImages/ImageMetadata.jl#14; if you follow that link, you'll see that there was at least one very cool surprise lurking for the unwary.The text was updated successfully, but these errors were encountered: