You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
By "remove" I mean mutate the hugr so that the what was a non-local edge becomes many edges threaded through all container nodes between(in the hierarchy sense) the two nodes.
I expect that for many passes, removing all nonlocal edges would make their implementation simpler.
I have in mind a hugr -> hugr transformation that involves converting a non-linear type into a linear type. Linear types cannot be on non-local edges, so it is natural to run "remove-nonlocal-edges" as the first stage.
Likely a "create-nonlocal-edges" pass that, wherever possible, removes non-linear edges into container nodes, would also be useful. One can construct graphs where nearly all edges are removed by such a pass, making the size of Hugr O(nodes) instead of O(nodes^2) although it's unclear what the gains would be in practise.
It may be worthwhile to create both passes at the same time, since their logic is very similar.
By "remove" I mean mutate the hugr so that the what was a non-local edge becomes many edges threaded through all container nodes between(in the hierarchy sense) the two nodes.
I expect that for many passes, removing all nonlocal edges would make their implementation simpler.
I have in mind a hugr -> hugr transformation that involves converting a non-linear type into a linear type. Linear types cannot be on non-local edges, so it is natural to run "remove-nonlocal-edges" as the first stage.
Likely a "create-nonlocal-edges" pass that, wherever possible, removes non-linear edges into container nodes, would also be useful. One can construct graphs where nearly all edges are removed by such a pass, making the size of Hugr
O(nodes)
instead ofO(nodes^2)
although it's unclear what the gains would be in practise.It may be worthwhile to create both passes at the same time, since their logic is very similar.
The text was updated successfully, but these errors were encountered: