Skip to content

Commit 6e31aa9

Browse files
committed
Optimized BeamExtraction
1 parent 2538438 commit 6e31aa9

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

src-extra/transformation/JbeamEdit/Transformation/BeamExtraction.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import Data.Map (Map)
77
import Data.Map qualified as M
88
import Data.Maybe (catMaybes)
99
import Data.Ord (Down (Down))
10+
import Data.Set qualified as S
1011
import Data.Text (Text)
1112
import Data.Vector (Vector)
1213
import Data.Vector qualified as V
@@ -20,15 +21,14 @@ beamQuery :: NP.NodePath
2021
beamQuery = fromList [NP.ObjectIndex 0, NP.ObjectKey "beams"]
2122

2223
rejectUnknownName
23-
:: Foldable t
24-
=> t Text
24+
:: Set Text
2525
-> Maybe (Vector Text)
2626
-> Maybe (Vector Text)
2727
rejectUnknownName knownNodeNames maybeBeam =
2828
bool
2929
maybeBeam
3030
Nothing
31-
(any (any (`notElem` knownNodeNames)) maybeBeam)
31+
(any (any (`S.notMember` knownNodeNames)) maybeBeam)
3232

3333
possiblyBeam :: Node -> Either Node (Maybe (Vector Text))
3434
possiblyBeam node
@@ -53,7 +53,7 @@ vertexConns
5353
vertexConns maxSupport topNode vsPerType =
5454
go <$> extractBeams topNode
5555
where
56-
knownNodeNames = concatMap (map anVertexName) vsPerType
56+
knownNodeNames = foldMap (foldr (S.insert . anVertexName) mempty) vsPerType
5757
go beams =
5858
let possiblyInnerBeam = (:) . fmap (rejectUnknownName knownNodeNames) . possiblyBeam
5959
(badNodes, beamPairs) =

0 commit comments

Comments
 (0)