úÎ!;8+      !"#$%&'()*(c) Peter RobinsonBSD3 (see the file LICENSE)"Peter Robinson <pwr@lowerbound.io> provisional(non-portable (requires concurrency, stm)None@AX3žconcurrent-hashtableIUsed internally. An action to be executed atomically for the given chain.concurrent-hashtableGConfiguration options that may affect the performance of the hash tableconcurrent-hashtablescale factor for resizingconcurrent-hashtable'load threshold for initiating resizing.concurrent-hashtable5maximum number of worker threads used during resizingconcurrent-hashtable8A thread-safe hash table that supports dynamic resizing. concurrent-hashtablevector of linked lists concurrent-hashtableUsed for chain-hashing.concurrent-hashtable stores theconcurrent-hashtableused internally for resizingconcurrent-hashtableqDefault configuration: scale factor = 2.0; resizing threshold = 0.75; number of worker threads for resizing = +; hash function = use , with a random saltconcurrent-hashtable3Creates a new hash table with an initial size. See 6 for more details. You probably either want to use V instead or something like this: > mkDefaultConfig { _field = myValue } >>= new 10concurrent-hashtableÿjCreates a new hash table with the given initial vector size, scale factor 2.0, a resizing load threshold of 0.75, and we use as many threads for resizing as we have cores available. This will use a hash function with a (single) random salt, so if you need security, you MUST supply your own hash function. To be replaced by universal hashing in future versions.concurrent-hashtable;Returns the size of the vector representing the hash table.concurrent-hashtable;Returns the size of the vector representing the hash table.concurrent-hashtableXResizes the hash table by scaling it according to the _scaleFactor in the configuration.concurrent-hashtable<Lookup the value for the key in the hash table if it exists.concurrent-hashtableUsed internally by , , , updateconcurrent-hashtable]Inserts a key and value pair into the hash table only if the key does not exist yet. Returns -u if the insertion was successful, i.e., the hash table did not contain this key before. To get the same behaviour as , use 8. If you want to update an entry only if it exists, use update.concurrent-hashtableADeletes the entry for the given key from the hash table. Returns -4 if and only if an entry was deleted from the table. concurrent-hashtablenAtomically increment/decrement the table load value by adding the provided integer value to the current value.#concurrent-hashtable!Read the chain for the given key.$concurrent-hashtableDRead the chain for the given index (warning: bounds are not checked)%concurrent-hashtableCGet the chain for the given index (warning: bounds are not checked)concurrent-hashtableInitial size of the hash tableconcurrent-hashtableInitial size of the hash tableconcurrent-hashtablekeyconcurrent-hashtablekeyconcurrent-hashtablevalueconcurrent-hashtablekeyconcurrent-hashtablevalueconcurrent-hashtable!key of entry that will be deleted concurrent-hashtableincrement/decrement value'  !"#$%&'   !"#$%&(c) Peter RobinsonBSD3 (see the file LICENSE)"Peter Robinson <pwr@lowerbound.io> provisional(non-portable (requires concurrency, stm)None7 ! !Safe7ß./0123456       !"#$%&'()*+,-./0123456789:;<=>1concurrent-hashtable-0.1.1-JT7d65ZjLuX7qLH5HOBfffData.HashTable.InternalData.MapinsertData.HashTablePaths_concurrent_hashtable STMActionConfig _scaleFactor _threshold_numResizeWorkers _hashFunc HashTable _chainsVecTV _totalLoad_configChain_itemsTV_migrationStatusTVMigrationStatus NotStartedOngoingFinished newChainIOmkDefaultConfignewnewWithDefaults readSizeIOreadSizeresizelookup genericModifyinsertIfNotExistsdeleteatomicallyChangeLoad getAssocsdeleteFirstKeyreadChainForKeyIOreadChainForIndexIOreadChainForIndexdebug $fShowConfig$fShowMigrationStatus$fEqMigrationStatus $fEqChainbase GHC.Conc.SyncgetNumCapabilities'hashable-1.3.0.0-1RsrIcitxVDKffGN1TuMlmData.Hashable.Class hashWithSaltghc-prim GHC.TypesTrueversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName