
fmap f. If I could re-define Haskell from scratch, I'd probably name the Functor type class function 'map'
As it was in Haskell 1.4
That's interesting, I did not know this. Thanks for sharing. Are there any public records as to why the decision was made to re-name 'map' to 'fmap'? I can not find any mention in the Haskell98 report(s). There is a stackoverflow thread (#6824255) which mentions paedagogical reasons, simplifying error messages. I sometimes use the current naming 'map' to specialize a polymorphic function to work exclusively on lists where any functor could have been used. Other than that, I can not quite see the use in keeping 'map' around when it is equivalent to fmap. What reasons are there apart from backwards compatibility? Are there re-write rules that make 'map's (operational) semantics different to 'fmap'? Olaf