summaryrefslogtreecommitdiff
path: root/src/GF/Speech/Relation.hs
diff options
context:
space:
mode:
authorbringert <bringert@cs.chalmers.se>2005-12-22 23:16:15 +0000
committerbringert <bringert@cs.chalmers.se>2005-12-22 23:16:15 +0000
commite32472a9bb40468bd77db839d683bd15e89db2e1 (patch)
treee2756756fc5b75f577a500438e34922c3b7b6d5f /src/GF/Speech/Relation.hs
parent29ba681242acd62a28e2facdad733619bf8d994f (diff)
Some performance improvements in the FA generation.
Diffstat (limited to 'src/GF/Speech/Relation.hs')
-rw-r--r--src/GF/Speech/Relation.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/GF/Speech/Relation.hs b/src/GF/Speech/Relation.hs
index 2ad3faccb..c66a07d10 100644
--- a/src/GF/Speech/Relation.hs
+++ b/src/GF/Speech/Relation.hs
@@ -100,10 +100,10 @@ purgeEmpty r = Map.filter (not . Set.null) r
-- | Get the equivalence classes from an equivalence relation.
-equivalenceClasses :: Ord a => Rel a -> [[a]]
+equivalenceClasses :: Ord a => Rel a -> [Set a]
equivalenceClasses r = equivalenceClasses_ (Map.keys r) r
where equivalenceClasses_ [] _ = []
- equivalenceClasses_ (x:xs) r = Set.toList ys:equivalenceClasses_ zs r
+ equivalenceClasses_ (x:xs) r = ys:equivalenceClasses_ zs r
where ys = allRelated r x
zs = [x' | x' <- xs, not (x' `Set.member` ys)]