I’m looking for an API, say a macro
@broadcasted, to do:
julia> bc = @broadcasted f.(a, g.(b, h.(c))) Base.Broadcast.Broadcasted(....)
julia> Base.materialize(bc) == f.(a, g.(b, h.(c))) true
I guess I can write a macro myself using
julia> Meta.lower(@__MODULE__, :(f.(a, g.(b, h.(c))))) :($(Expr(:thunk, CodeInfo( 1 ─ %1 = (Base.broadcasted)(h, c) │ %2 = (Base.broadcasted)(g, b, %1) │ %3 = (Base.broadcasted)(f, a, %2) │ %4 = (Base.materialize)(%3) └── return %4 ))))
But I thought I’d ask first if there already is an API or a better approach to do this.