id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
4278	Proposal: Add strict versions of foldlWithKey and insertLookupWithKey to Data.Map	tibbe		"This proposal depends on #4277.

The current Data.Map API lacks two important functions:

 * A strict left (pre-order) fold -- needed to e.g. sum all the values in a map efficiently.

 * A strict `insertLookupWithKey'` -- needed to e.g. update an integer counter and retrieve the previous value in a single traversal.

The benchmark we ran indicates that `foldlWithKey'` is 95% faster than its lazy counter part. `insertLookupWithKey'` is only 6% faster, but the speedup is highly dependent on how many times each element is update. Each element was only updated once in our benchmark so real speedups should be larger.

The consideration period is 3 weeks.

Note that the attached patch includes the dependent patches in the above linked ticket.
"	proposal	closed	normal	Not GHC	libraries (other)	6.12.3	fixed		fox@…	Unknown/Multiple	Unknown/Multiple	Runtime performance bug			4277	4313	
