packages feed

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
%%]