[Haskell-cafe] Documenting strictness properties for Data.Map.Strict
Ivan Lazar Miljenovic
ivan.miljenovic at gmail.com
Fri Nov 18 06:54:18 CET 2011
On 18 November 2011 16:44, Johan Tibell <johan.tibell at gmail.com> wrote:
> On Thu, Nov 17, 2011 at 9:21 PM, Johan Tibell <johan.tibell at gmail.com> wrote:
>> I'm not entirely happy with this formulation. I'm looking for
>> something that's clear (i.e. precise and concise, without leaving out
>> important information), assuming that the reader already knows how
>> lazy evaluation works at a high level.
>>
>> Ideas?
>
> This reads a bit better to me:
>
> Strictness properties
> =====================
>
> This module is strict in keys and values. In particular,
>
> * key and value function arguments passed to functions are
> evaluated to WHNF before the function body is evaluated, and
>
> * keys and values returned by high-order function arguments are
> evaluated to WHNF before they are inserted into the map.
>
> Here are some examples:
>
> insertWith (+) k undefined m == undefined
> delete undefined m == undefined
> map (\ v -> undefined) == undefined
> mapKeys (\ k -> undefined) == undefined
>
> Any ideas for further improvements?
I think this is rather clear and to the point, maybe just re-word "key
and value function arguments passed to functions ..." (maybe just "key
and value arguments" ?)
--
Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com
IvanMiljenovic.wordpress.com
More information about the Haskell-Cafe
mailing list