úÎPėIÕ%      !"#$=%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aG%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUbcdefghiVWXYZ[\]j^_`ak=%&'()*+,-./0123987654456789:=<;;<=>@??@AFEDCBBCDEFG PONMLKJIHHIJKLMNOPQRSTUVWXYZ[\]^_`a lmnopqrstuvwx3456789ABCDEFnopqrvwnoopqrvwnon-portable (requires libDB) experimentallemmih@gmail.com0yz{|}~€O(log n). Find the value at a key.  Calls $ when the element can not be found. O(1). The empty database. O(1). A map with a single element. O(log n).. Insert a new key and value in the database. H If the key is already present in the database, the associated value is ( replaced with the supplied value, i.e.  is equivalent to   ‚. O(log n)$. Insert with a combining function.   f key value db ( will insert the pair (key, value) into db if key does E not exist in the database. If the key does exist, the function will  insert the pair (key, f new_value old_value). O(log n)$. Insert with a combining function.   f key value db ( will insert the pair (key, value) into db if key does E not exist in the database. If the key does exist, the function will  insert the pair (key,f key new_value old_value). 9 Note that the key passed to f is the same key passed to . O(log n)-. Lookup the value at a key in the database. The function will  return the result in the monad or fail in it the key isn' t in the & database. Often, the monad to use is ƒ, so you get either  („ result) or …. O(log n). The expression ( def k db) returns  the value at key k or returns def& when the key is not in the database. O(log n)". Is the key a member of the map? O(log n)&. Is the key not a member of the map?  O(log n*m).  The expression (  t1 t2!) takes the left-biased union of t1 and t2.  It prefers t1& when duplicate keys are encountered,  i.e. (  ==   ‚).  O(log n*m)#. Union with a combining function.  O(log n*m)). M Union with a combining function. This function is most efficient on (bigset   smallset). "The union of a list of databases:  ( == †   ). >The union of a list of databases, with a combining operation:  ( f == † (  f) ). O(n)(. Fold the values in the map, such that   f z == ‡ f z . .  For example,  elems map = fold (:) [] map O(log n)D. Delete a key and its value from the database. When the key is not > a member of the database, the original database is returned. O(log n)8. Adjust a value at a specific key. When the key is not 4 a member of the map, the original map is returned. O(log n)8. Adjust a value at a specific key. When the key is not 4 a member of the map, the original map is returned. O(log n). The expression ( f k map) updates the value x  at k (if it is in the map). If (f x) is …, the element is  deleted. If it is („ y ), the key k is bound to the new value y. O(log n). The expression ( f k db) updates the  value x at k! (if it is in the database). If (f k x) is …, # the element is deleted. If it is („ y ), the key k is bound  to the new value y. O(log n). The expression ( f k db) updates the  value x at k! (if it is in the database). If (f k x) is …, # the element is deleted. If it is („ y ), the key k is bound  to the new value y. O(log n). The expression ( f k db) alters the value x at k, or absence thereof.  7 can be used to insert, delete, or update a value in a .  In short :  k ( f k m) = f ( k m) O(n). Convert to a list of key/ value pairs. ˆO(n). Return all key//value pairs in the map in ascending key order.  O(n*log n)%. Build a database from a list of key/value pairs. See also  fromAscList.  O(n*log n)%. Build a database from a list of key/'value pairs with a combining function.  O(n*log n)%. Build a database from a list of key/'value pairs with a combining function. O(n). J Return all elements of the database in the ascending order of their keys ( sorted by their binary representation. O(n)5. Return all keys of the database in ascending order ( sorted by their binary representation. O(1). Is the map empty? O(1)%. The number of elements in the map. !O(n)2. Map a function over all values in the database. "O(n)2. Map a function over all values in the database. #O(n)0. Filter all values that satisfy the predicate. $O(n). Filter all keys/#values that satisfy the predicate. ‰Š%  !"#$%  !"#$%  !"#$‹      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoppqrdecstuvvwxyz{|}~|€|‚|ƒ|„|…†|‡ˆ‰Š‹berkeleydb-2008.10.31Data.BerkeleyDBData.BerkeleyDB.InternalData.BerkeleyDB.IODb!empty singletoninsert insertWith insertWithKeylookupfindWithDefaultmember notMemberunion unionWith unionWithKeyunions unionsWithfolddeleteadjust adjustWithKeyupdate updateWithKeyupdateLookupWithKeyaltertoListassocsfromList fromListWithfromListWithKeyelemskeysnullsizemap mapWithKeyfilter filterWithKeyhs_cursor_close hs_cursor_get hs_cursor hs_set_flagsc_getc_put clear_dbtclosePtrc_closec_openc_create hs_env_open db_env_createObjectDbFlagNextSortDuplicates DuplicatesMultiple ConsumeWaitConsumePutFlag NoOverwrite NoDupDataAppend SyncOptionNoSyncSyncDbType UnknownTypeQueueRecnoHashBTreeFlagTruncateThreadReadUncommittedReadOnlyNoMMap MultiversionExclCreate AutoCommitDBTYPEENVDBCDBTDB createEnvcreateopenclosewithDBTputgetgetManysetFlags closeCursor newCursor getAtCursor fromDbTypefromFlag fromFlagsfromSyncOption fromPutFlag fromPutFlags fromDbFlag fromDbFlags dbtGetMany nullObjectCursornew lookupMany getAllObjects serialise deserialiseRangeioDBrangeuniqGendbSizeEmptybaseGHC.ErrerrorGHC.Baseconst Data.MaybeMaybeJustNothingGHC.ListfoldlfoldrtoListIO isInRange addToRange