Library proposal: add a Location interface for element-wise operations on Data.Map (#4887)

Ross Paterson ross at soi.city.ac.uk
Fri Jan 7 18:37:53 CET 2011


This is a variant of a suggestion by apfelmus:

  http://www.haskell.org/pipermail/libraries/2010-September/014510.html

To avoid proliferation of variants of element-wise operations, the idea
is to split these operations into two phases mediated by a new Location
type, so that users can do whatever they like between these phases.
Documentation is here:

  http://code.haskell.org/~ross/containers_doc/Data-Map.html#3

This adds a type and 9 functions to the interface, but makes possible
monadic updates and much more.  As an illustration, the file MapOps.hs
attached to the ticket gives definitions of 30 of the public functions of
Data.Map in terms of the new interface.  At least in the case of insert,
this definition is slightly faster than the current one.

Discussion period: 4 weeks (to 4 February)



More information about the Libraries mailing list