
On Fri, 21 Jun 2013, Matthias Kilian wrote:
On Fri, Jun 21, 2013 at 04:53:49PM -0400, Carter Schonwald wrote:
I'd support the map=fmap thing,
Does it cause any consequences for existing libraries and programs? Does it break any existing Haskell98 (or Haskell2010) code?
If not: fine. But if yes: please don't do it.
My main concern is that we reduce type-safety. If you have a lot of nested Functors, and you apply a nested fmap like in (fmap (fmap (fmap f))) with a polymorphic f, then after adding or removing a functor level the code can probably still be compiled, but is wrong. It is also more difficult to read, since in order to understand (fmap (fmap (fmap f))) you have to infer types mentally, in order to find out that, say, the second fmap is a List.map. These are my general concern with always using the most general function available. Thus a -1 for this proposal, from me.