• Home
  • Raw
  • Download

Lines Matching refs:MkSet

159 data Set e = MkSet [e]  constructor
165 unMkSet (MkSet s) = s
172 utSetEmpty = MkSet []
179 utSetIsEmpty (MkSet s) = s == []
186 utSetSingleton x = MkSet [x]
193 utSetFromList x = (MkSet . rmdup . sort) x
204 utSetToList (MkSet xs) = xs
212 utSetUnion (MkSet []) (MkSet []) = (MkSet [])
213 utSetUnion (MkSet []) (MkSet (b:bs)) = (MkSet (b:bs))
214 utSetUnion (MkSet (a:as)) (MkSet []) = (MkSet (a:as))
215 utSetUnion (MkSet (a:as)) (MkSet (b:bs))
216 | a < b = MkSet (a: (unMkSet (utSetUnion (MkSet as) (MkSet (b:bs)))))
217 | a == b = MkSet (a: (unMkSet (utSetUnion (MkSet as) (MkSet bs))))
218 | a > b = MkSet (b: (unMkSet (utSetUnion (MkSet (a:as)) (MkSet bs))))
225 utSetIntersection (MkSet []) (MkSet []) = (MkSet [])
226 utSetIntersection (MkSet []) (MkSet (b:bs)) = (MkSet [])
227 utSetIntersection (MkSet (a:as)) (MkSet []) = (MkSet [])
228 utSetIntersection (MkSet (a:as)) (MkSet (b:bs))
229 | a < b = utSetIntersection (MkSet as) (MkSet (b:bs))
230 | a == b = MkSet (a: (unMkSet (utSetIntersection (MkSet as) (MkSet bs))))
231 | a > b = utSetIntersection (MkSet (a:as)) (MkSet bs)
238 utSetSubtraction (MkSet []) (MkSet []) = (MkSet [])
239 utSetSubtraction (MkSet []) (MkSet (b:bs)) = (MkSet [])
240 utSetSubtraction (MkSet (a:as)) (MkSet []) = (MkSet (a:as))
241 utSetSubtraction (MkSet (a:as)) (MkSet (b:bs))
242 | a < b = MkSet (a: (unMkSet (utSetSubtraction (MkSet as) (MkSet (b:bs)))))
243 | a == b = utSetSubtraction (MkSet as) (MkSet bs)
244 | a > b = utSetSubtraction (MkSet (a:as)) (MkSet bs)
251 utSetElementOf x (MkSet []) = False
252 utSetElementOf x (MkSet (y:ys)) = x==y || (x>y && utSetElementOf x (MkSet ys))
260 utSetSubsetOf (MkSet []) (MkSet bs) = True
261 utSetSubsetOf (MkSet (a:as)) (MkSet bs)
262 = utSetElementOf a (MkSet bs) && utSetSubsetOf (MkSet as) (MkSet bs)