pseq strictness properties

Don Stewart dons at
Thu Nov 20 18:33:16 EST 2008

> I don't think I'm just speaking for myself when I say that pseq is
> confusing and the docs similarly.
> Given the type
> a -> b -> b
> we would assume that it is lazy in it's first arg and strict in the
> second. (Even in the presence of seq we know that it really really must
> be strict in it's second arg since it returns it or _|_ in which case
> it's still strict).
> Of course we know of the seq primitive with this type that is strict in
> both. However we also now have pseq that has the _opposite_ "static"
> strictness to the original expected strictness.

Could you state "static" strictness as a StrictCheck property?
I'm not quite sure what this distinction means, actually.

-- Don

More information about the Glasgow-haskell-users mailing list