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

Reply via email to