[Haskell-cafe] two problems with Data.Binary and Data.ByteString

Tim Newsham newsham at lava.net
Tue Aug 12 20:48:38 EDT 2008


On Tue, 12 Aug 2008, Bryan O'Sullivan wrote:

> On Tue, Aug 12, 2008 at 5:34 PM, Tim Newsham <newsham at lava.net> wrote:
>
>> I tried to force the data with:
>>
>>    loadState db = do
>>        d <- decode <$> B.readFile stateFile
>>        let force = sum $ M.elems $ M.size `fmap` d
>>        force `seq` atomically $ writeTVar db d
>>
>> and I get the same error when trying to writeFile after doing
>> a loadState.
>
> What happens if you simply print the number of elements in the map?
> Forcing its spine is all you should need.

This is what the sum above does.  Its a Map of Maps, so this maps
M.size over the outter Map and sums the resulting elements.
That should touch every map element, at least.

Tim Newsham
http://www.thenewsh.com/~newsham/


More information about the Haskell-Cafe mailing list