Changeset 12774
- Timestamp:
- 03.11.2009 14:25:57 (3 weeks ago)
- Location:
- trunk
- Files:
-
- 4 modified
-
CASL/ColimSign.hs (modified) (2 diffs)
-
CASL/Overload.hs (modified) (4 diffs)
-
Common/Lib/Rel.hs (modified) (2 diffs)
-
Common/SetColimit.hs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/CASL/ColimSign.hs
r12726 r12774 212 212 names $ Set.toList oSet 213 213 equivF (id1, ot1) (id2, ot2) = (id1 == id2) && leqF sig ot1 ot2 214 parts = leqClasses equivF oSet214 parts = Rel.leqClasses equivF oSet 215 215 addParts rel equivList = 216 216 foldl (\(r, f) l -> let l1 = map (\x -> Map.findWithDefault (x,n) x $ … … 389 389 names $ Set.toList pSet 390 390 equivP (id1, pt1) (id2, pt2) = (id1 == id2) && leqP sig pt1 pt2 391 parts = leqClasses equivP pSet391 parts = Rel.leqClasses equivP pSet 392 392 nmor = Map.findWithDefault (error "buildAtNode") n morMap 393 393 addParts rel equivList = -
trunk/CASL/Overload.hs
r12405 r12774 30 30 , keepMinimals1 31 31 , keepMinimals 32 , leqClasses33 32 ) where 34 33 … … 207 206 preds = case mty of 208 207 Nothing -> map (pSortBy predArgs sign) 209 $ leqClasses (leqP' sign) preds'208 $ Rel.leqClasses (leqP' sign) preds' 210 209 Just ty -> [[ty] | Set.member ty preds'] 211 210 noOpOrPred preds "predicate" mty ide pos nargs … … 307 306 ops = case mty of 308 307 Nothing -> map (pSortBy opArgs sign) 309 $ leqClasses (leqF' sign) ops'308 $ Rel.leqClasses (leqF' sign) ops' 310 309 Just ty -> [[ty] | Set.member ty ops' || 311 310 -- might be known to be total … … 473 472 and . zipWith (haveCommonSubsorts sign) (predArgs p1) . predArgs 474 473 475 -- | Divide a Set (List) into equivalence classes w.r.t. eq476 leqClasses :: Ord a => (a -> a -> Bool) -> Set.Set a -> [[a]]477 leqClasses eq = map Set.toList . Rel.partSet eq478 479 474 cmpSubsort :: Sign f e -> POrder SORT 480 475 cmpSubsort sign s1 s2 = -
trunk/Common/Lib/Rel.hs
r11961 r12774 40 40 , toSet, fromSet, topSort, nodes, collaps 41 41 , transpose, transReduce, setInsert, setToMap 42 , fromDistinctMap, locallyFiltered, flatSet, partSet 42 , fromDistinctMap, locallyFiltered, flatSet, partSet, leqClasses 43 43 ) where 44 44 … … 308 308 in Set.insert x (Set.unions es) : ds 309 309 310 -- | Divide a Set (List) into equivalence classes w.r.t. eq 311 leqClasses :: Ord a => (a -> a -> Bool) -> Set.Set a -> [[a]] 312 leqClasses eq = List.map Set.toList . partSet eq 313 310 314 -- | flattens a list of non-empty sets and uses the minimal element of 311 315 -- each set to represent the set -
trunk/Common/SetColimit.hs
r12727 r12774 23 23 where 24 24 25 import Common.Id 25 26 import Common.Lib.Graph 27 import Common.Lib.Rel (leqClasses) 28 26 29 import Data.Graph.Inductive.Graph 27 30 import qualified Data.Map as Map 28 31 import qualified Data.Set as Set 29 import CASL.Overload(leqClasses)30 import Common.Id31 32 32 33 compose :: (Ord a) => Set.Set (a, Int) ->