  
  [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[9Xtrue[109X or [9Xfalse[109X[133X
  
  [33X[0;0YCategory of hashsets[133X
  
  [1X8.1-2 HashSet[101X
  
  [33X[1;0Y[29X[2XHashSet[102X( [[3Xvalues[103X][,] [[3Xhashfunc[103X[, [3Xeqfunc[103X]][,] [[3Xcapacity[103X] ) [32X function[133X
  
  [33X[0;0YCreate a new hashset. The optional argument [3Xvalues[103X must be a list of values,
  which  will be inserted into the new hashset in order. 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
  
