  
  [1X8 [33X[0;0YHashsets[133X[101X
  
  [33X[0;0YA  hash  set stores objects and allows efficient lookup whether an object is
  already a member of the set.[133X
  
  [33X[0;0Y[5Xdatastructures[105X  currently  provides  a  reference implementation of hashsets
  using a hashtable stored in a plain [5XGAP[105X list.[133X
  
  
  [1X8.1 [33X[0;0YAPI[133X[101X
  
  [1X8.1-1 IsHashSet[101X
  
  [33X[1;0Y[29X[2XIsHashSet[102X( [3Xarg[103X ) [32X filter[133X
  [6XReturns:[106X  [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X
  
  [33X[0;0YCategory of hashsets[133X
  
  [1X8.1-2 HashSet[101X
  
  [33X[1;0Y[29X[2XHashSet[102X( [[3Xhashfunc[103X[, [3Xeqfunc[103X, ]][[3Xcapacity[103X] ) [32X function[133X
  
  [33X[0;0YCreate  a  new  hashset.  The  optional  argument  [3Xhashfunc[103X  must be a hash-
  function,  [3Xeqfunc[103X  must  be  a binary equality testing function that returns
  [9Xtrue[109X  if  the two arguments are considered equal, and [9Xfalse[109X if they are not.
  Refer  to  Chapter  [14X6[114X  about the requirements for hashfunctions and equality
  testers.  The  optional argument [3Xcapacity[103X determines the initial size of the
  hashmap.[133X
  
  [1X8.1-3 AddSet[101X
  
  [33X[1;0Y[29X[2XAddSet[102X( [3Xhashset[103X, [3Xobj[103X ) [32X operation[133X
  
  [33X[0;0YAdd [3Xobj[103X to [3Xhashset[103X.[133X
  
  [1X8.1-4 \in[101X
  
  [33X[1;0Y[29X[2X\in[102X( [3Xobj[103X, [3Xhashset[103X ) [32X operation[133X
  
  [33X[0;0YTest membership of [3Xobj[103X in [3Xhashset[103X[133X
  
  [1X8.1-5 RemoveSet[101X
  
  [33X[1;0Y[29X[2XRemoveSet[102X( [3Xhashset[103X, [3Xobj[103X ) [32X operation[133X
  
  [33X[0;0YRemove [3Xobj[103X from [3Xhashset[103X.[133X
  
  [1X8.1-6 Size[101X
  
  [33X[1;0Y[29X[2XSize[102X( [3Xhashset[103X ) [32X operation[133X
  
  [33X[0;0YReturn the size of a hashset Returns an integer[133X
  
  [1X8.1-7 IsEmpty[101X
  
  [33X[1;0Y[29X[2XIsEmpty[102X( [3Xhashset[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya boolean[133X
  
  [33X[0;0YTest a hashset for emptiness.[133X
  
  [1X8.1-8 Set[101X
  
  [33X[1;0Y[29X[2XSet[102X( [3Xhashset[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya set[133X
  
  [33X[0;0YConvert a hashset into a [5XGAP[105X set[133X
  
  [1X8.1-9 AsSet[101X
  
  [33X[1;0Y[29X[2XAsSet[102X( [3Xhashset[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Yan immutable set[133X
  
  [33X[0;0YConvert a hashset into a [5XGAP[105X set[133X
  
  [1X8.1-10 Iterator[101X
  
  [33X[1;0Y[29X[2XIterator[102X( [3Xset[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Yan iterator[133X
  
  [33X[0;0YCreate an iterator for the values contained in a hashset. Note that elements
  added to the hashset after the creation of an iterator are not guaranteed to
  be returned by that iterator.[133X
  
