File tree Expand file tree Collapse file tree 1 file changed +5
-3
lines changed Expand file tree Collapse file tree 1 file changed +5
-3
lines changed Original file line number Diff line number Diff line change @@ -9,7 +9,9 @@ import AbsSyn
99import Data.IntMap ( IntMap )
1010import Data.IntSet ( IntSet )
1111import Data.Map ( Map )
12+ #if !MIN_VERSION_containers(0,6,0)
1213import Data.Maybe ( mapMaybe )
14+ #endif
1315
1416import qualified Data.Map as Map
1517import qualified Data.IntSet as IntSet
@@ -168,10 +170,10 @@ groupEquivStates DFA { dfa_states = statemap }
168170 preimage :: IntMap EquivalenceClass -- inversed transition function
169171 -> EquivalenceClass -- subset of codomain of original transition function
170172 -> EquivalenceClass -- preimage of given subset
171- #if MIN_VERSION_containers(0, 6, 0)
172- preimage invMap a = IntSet. unions ( IntMap. restrictKeys invMap a)
173+ #if MIN_VERSION_containers(0,6, 0)
174+ preimage invMap = IntSet. unions . IntMap. restrictKeys invMap
173175#else
174- preimage invMap a = IntSet. unions [ IntMap. findWithDefault IntSet. empty s invMap | s <- IntSet. toList a]
176+ preimage invMap = IntSet. unions . mapMaybe ( `IntMap.lookup` invMap) . IntSet. toList
175177#endif
176178
177179 xs :: [EquivalenceClass ]
You can’t perform that action at this time.
0 commit comments