
27 Oct
2005
27 Oct
'05
7:16 a.m.
Udo Stenzel wrote:
That raises the question: Should combining functions on containers be provided in a strict variant? Should strict application be the default?
With the exception of lists, I generally tend to want strict behavior for collections. Combined with the principle of least surprise, my preference would be strict defaults with lazy alternatives (i.e. Data.Map is strict, Data.Map.Lazy is - well, you get the picture :-). (I also still think that unboxed arrays could be replaced by strict arrays -- if compilers are sufficiently able to unbox strict elements, that is. AFAICT, unboxing is an implementation issue, strictness is the semantic part of it, and that is what should be reflected in the interface) -k