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
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to