Here's an attempt at an improved version:
Strictness properties
=====================
This module satisfies the following properties:
1. Key and value arguments are evaluated to WHNF;
2. Keys and values are evaluated to WHNF before they are stored in
the map.
Here are some examples that illustrate the first property:
insertWith (\ old new -> old) k undefined m == undefined
delete undefined m == undefined
Here are some examples that illustrate the second property:
map (\ v -> undefined) m == undefined -- m is not empty
mapKeys (\ k -> undefined) m == undefined -- m is not empty
What do you think?
-- Johan
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe