
On Mon, Apr 21, 2014 at 8:55 AM, Brandon Allbery
On Mon, Apr 21, 2014 at 5:35 AM, Mario Pastorelli
wrote: On 04/21/2014 10:41 AM, Simon Hengel wrote:
A quick heuristic grep over all Hackage packages results in quite a bit of packages containing the ifM/whenM/unlessM:
But that kind of shows that the "expected" names for those functions are ifM/whenM/unlessM. I would ask the question:
Are there any other useful combinators that would be named ifM/whenM/unlessM under the current naming convention?
If no, then I'm not entirely convinced that we should decide against what seems to be common intuition here.
Breaking API consistency because a lot of people are already doing it doesn't feel right. If they
The API is there to serve its users, not really to dictate to them. If the common convention is counter to the API structure, perhaps it is the API that should change.
Has anyone noticed yet that replicateM is already breaking the ostensibly established naming scheme, and should properly be named mreplicate? Also, sequenceA is clearly echoing the fooM convention but it breaks the pattern even worse. But perhaps we should in fact rename replicateM. Certainly "mreplicate" would fit in better with other monadic variants of list functions, like "mconcat"! Consistency is important, after all. Also, mfix should probably be fixM, for what that's worth. - C.