JuliaReach / LazySets.jl

Scalable symbolic-numeric set computations in Julia
https://juliareach.github.io/LazySets.jl/
Other
226 stars 32 forks source link

Walker for set expression tree #797

Open schillic opened 6 years ago

schillic commented 6 years ago

Given a complicated nested lazy operation, we would like to apply a function to certain nodes in the expression tree. Example: We found out that the whole set is nonempty, so we would like to update all inner lazy Intersections accordingly. We would write a function that checks if the current node is of type Intersection and then perform an action. To enable this, we need a general framework that walks through the tree and applies a given function to every set.

It would be nice if we could perform tasks such as "count the maximum depth of nested intersections" with this feature.

mforets commented 4 years ago

The expression tree can be nicely visualized with TreeView.jl, i uploaded some examples in this notebook.

mforets commented 4 years ago

To manipulate the expression tree, probably Macrotools is useful.