úÎ!N/Jû.      !"#$%&'()*+,-(c) Peter RobinsonBSD3 (see the file LICENSE)"Peter Robinson <pwr@lowerbound.io> provisional(non-portable (requires concurrency, stm)None@AXFeconcurrent-hashtablecAn action to be executed atomically for the chain (list) stored at a specific table idnex. Used by .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-hashtablestores the items for this indexconcurrent-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 salt.concurrent-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-hashtableDReturns the size of the vector representing the hash table. (Atomic)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 by , , !, and .concurrent-hashtableInserts the key-value pair k v into the hash table. Uses chain hashing to resolve collisions. If you want to update the entry only if it already exists, use D. If you want to update the entry only if it does *not* exist, use .concurrent-hashtable]Inserts a key and value pair into the hash table only if the key does not exist yet. Returns 0u 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 .concurrent-hashtableUpdates the value for key k. If k; is not in the hash table, it skips the update and returns 1. concurrent-hashtable0Applies an update-function to the value for key k. If k+ is not in the hash table, it just returns 1.!concurrent-hashtableADeletes the entry for the given key from the hash table. Returns 04 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¼The load (i.e. number of stored items) in the table. Note that this is not synchronized for performance reasons and hence might be somewhat out of date if a lot of contention is happening.$concurrent-hashtableuAtomically retrieves list of key-value pairs. If there is a lot of contention going on, this may be very inefficient.%concurrent-hashtable Takes a key k and an assocation list ys', and deletes the first entry with key k in ys. Used internally.&concurrent-hashtable,Atomically read the chain for the given key.'concurrent-hashtableQAtomically read the chain for the given index. (Warning: bounds are not checked.)(concurrent-hashtableQAtomically read 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-hashtablekeyconcurrent-hashtablevalue concurrent-hashtablekeyconcurrent-hashtableupdate-function!concurrent-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)NoneIø  !$  !$SafeJÖ23456789:       !"#$%&'()*+,-./012345678679:;<=>?@AB1concurrent-hashtable-0.1.7-9nFbhxzoCQwBOan6OV2vQIData.HashTable.InternalData.MapinsertData.HashTablePaths_concurrent_hashtable STMActionConfig _scaleFactor _threshold_numResizeWorkers _hashFunc HashTable _chainsVecTV _totalLoad_configChain_itemsTV_migrationStatusTVMigrationStatus NotStartedOngoingFinished newChainIOmkDefaultConfignewnewWithDefaults readSizeIOreadSizeresizelookup genericModifyinsertIfNotExistsupdatemodifydeleteatomicallyChangeLoadreadLoad readAssocsdeleteFirstKeyreadChainForKeyIOreadChainForIndexIOreadChainForIndexdebug $fShowConfig$fShowMigrationStatus$fEqMigrationStatus $fEqChainbase GHC.Conc.SyncgetNumCapabilities'hashable-1.3.0.0-1RsrIcitxVDKffGN1TuMlmData.Hashable.Class hashWithSaltghc-prim GHC.TypesTrueFalseversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName