>> 2) the types are not general enough : like zip you should be able to
> take functions f : a->b->c instead of what intersectionWith forces you
> to do (f: a->b->a).
>
According to my documentation, the type of intersectionWith *is* (f :: a ->
b -> c).
On another note, with respect to my proposed change: I concede that it
might be too general for some people. Here's a simpler change that I'd
like: to be able to project information out of a value and modify it
simultaneously, so simply
alterProject :: (Maybe a -> (z, Maybe a)) -> k -> Map k a -> (z, Map k a )
for a specific key.
and perhaps something similar for the min/max operations. I'd very much
like to be able to do more general things than just min/max operations with
this sort of generality -- hence the Alternative approach in my original
proposal.
Louis Wasserman
wasserman.louis at gmail.comhttp://profiles.google.com/wasserman.louis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/libraries/attachments/20091104/27e562d6/attachment.html