do segment <- newIOArray (0,sEGMENT_SIZE-1) []
writeIOArray dir newsegment segment
-- doesn't happen very often, so we might as well use a safe
-- array index here.
--
do segment <- newIOArray (0,sEGMENT_SIZE-1) []
writeIOArray dir newsegment segment
-- doesn't happen very often, so we might as well use a safe
-- array index here.
--
split_bucket old new [] = do
segment <- myReadArray dir oldsegment
myWriteArray segment oldindex old
split_bucket old new [] = do
segment <- myReadArray dir oldsegment
myWriteArray segment oldindex old
then split_bucket old ((k,v):new) xs
else split_bucket ((k,v):old) new xs
--
then split_bucket old ((k,v):new) xs
else split_bucket ((k,v):old) new xs
--
- segment <- myReadArray dir oldsegment
- bucket <- myReadArray segment oldindex
- split_bucket [] [] bucket
- return table'
+ segment <- myReadArray dir oldsegment
+ bucket <- myReadArray segment oldindex
+ split_bucket [] [] bucket
+ return table'
-- -----------------------------------------------------------------------------
-- Deleting a mapping from the hash table
-- -----------------------------------------------------------------------------
-- Deleting a mapping from the hash table