[Haskell-cafe] Documenting strictness properties for Data.Map.Strict
johan.tibell at gmail.com
Fri Nov 18 17:10:10 CET 2011
On Fri, Nov 18, 2011 at 1:58 AM, Roman Leshchinskiy <rl at cse.unsw.edu.au> wrote:
> Johan Tibell wrote:
>> map (\ v -> undefined) == undefined
>> mapKeys (\ k -> undefined) == undefined
> Not really related to the question but I don't really understand how these
> properties can possibly hold. Shouldn't it be:
> map (\v -> undefined) x = undefined
> And even then, does this really hold for empty maps?
It doesn't hold. It needs the side condition that the map is initially
empty. I wonder if there's any function in the API that'd let me
express this property (of HOFs) that doesn't require a side condition.
I don't think so e.g.
insertWith (\old new -> undefined) k v m
has a side condition that k is in the map.
More information about the Haskell-Cafe