From e32472a9bb40468bd77db839d683bd15e89db2e1 Mon Sep 17 00:00:00 2001 From: bringert Date: Thu, 22 Dec 2005 23:16:15 +0000 Subject: Some performance improvements in the FA generation. --- src/GF/Speech/Relation.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/GF/Speech/Relation.hs') 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)] -- cgit v1.2.3