pure/Set

Original: OrderedSet.mo

type Set<T> = ()

public func new<T>() : Set<T>

public func isEmpty<T>(set : Set<T>) : Bool

public func size<T>(set : Set<T>) : Nat

public func contains<T>(
  set : Set<T>,
  item : T,
  compare : (T, T) -> Order.Order
) : Bool

public func add<T>(
  set : Set<T>,
  item : T,
  compare : (T, T) -> Order.Order
) : Set<T>

public func delete<T>(
  set : Set<T>,
  item : T,
  compare : (T, T) -> Order.Order
) : Set<T>

public func max<T>(set : Set<T>, compare : (T, T) -> Order.Order) : ?T

public func min<T>(set : Set<T>, compare : (T, T) -> Order.Order) : ?T

public func equal<T>(set1 : Set<T>, set2 : Set<T>) : Bool

public func values<T>(set : Set<T>) : Iter.Iter<T>

public func reverseValues<T>(set : Set<T>) : Iter.Iter<T>

public func fromIter<T>(iter : Iter.Iter<T>, compare : (T, T) -> Order.Order) : Set<T>

public func isSubset<T>(set1 : Set<T>, set2 : Set<T>) : Bool

public func union<T>(set1 : Set<T>, set2 : Set<T>) : Set<T>

public func intersect<T>(set1 : Set<T>, set2 : Set<T>) : Set<T>

public func diff<T>(set1 : Set<T>, set2 : Set<T>) : Set<T>

public func filter<T>(set : Set<T>, f : T -> Bool) : Set<T>

public func map<T1, T2>(set : Set<T1>, f : T1 -> T2) : Set<T2>

public func filterMap<T1, T2>(set : Set<T1>, f : T1 -> ?T2) : Set<T2>

public func foldLeft<T, A>(
  set : Set<T>,
  base : A,
  combine : (A, T) -> A
) : A

public func foldRight<T, A>(
  set : Set<T>,
  base : A,
  combine : (A, T) -> A
) : A

public func all<T>(set : Set<T>, pred : T -> Bool) : Bool

public func any<T>(set : Set<T>, pred : T -> Bool) : Bool

public func assertValid(set : Set<Any>) : ()

public func toText<T>(set : Set<T>, f : T -> Text) : Text