ruler-0.4.0.0: src/ViewSel/NmSAG.cag
-------------------------------------------------------------------------
-- View selection
-------------------------------------------------------------------------
%%[1 ag
ATTR AGViewSelsItf AGViewSelItf AllViewSel [ | | vwSelNmS USE {`Set.union`} {Set.empty}: {Set.Set Nm} ]
SEM ViewSel
| View Renamed lhs . vwSelNmS = Set.singleton @nm
| All lhs . vwSelNmS = dgVertices @lhs.vwDpdGr
| Range lhs . vwSelNmS = let toS = Set.fold (\n r -> dgReachableFrom @lhs.vwDpdGr n `Set.union` r) Set.empty @vwTo.vwSelNmS
frSL = [ dgReachableTo @lhs.vwDpdGr n | n <- Set.toList @vwFr.vwSelNmS ]
in Set.filter (\n -> any (\s -> n `Set.member` s) frSL) toS
%%]