[GHC] #10457: Revise/remove custom mapM implementation for lists

GHC ghc-devs at haskell.org
Mon Jun 1 20:00:46 UTC 2015


#10457: Revise/remove custom mapM implementation for lists
-------------------------------------+-------------------------------------
        Reporter:  dolio             |                   Owner:
            Type:  task              |                  Status:  new
        Priority:  normal            |               Milestone:  7.10.2
       Component:  libraries/base    |                 Version:  7.10.1
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  None/Unknown      |  Unknown/Multiple
      Blocked By:                    |               Test Case:
 Related Tickets:                    |                Blocking:
                                     |  Differential Revisions:  Phab:D924
-------------------------------------+-------------------------------------

Comment (by dolio):

 I'm not really attached to this, so if simonmar is okay with postponing to
 7.12, it's fine with me.

 Anyone who uses `Monad`s with `(<*>) /= ap` (at least, in ways giving
 distinct answers) is going to have a bad time, though. The specification
 of `Monad` now says they need to be equivalent, and I think that gives
 library writers license to switch between them without making a major
 version change. And it's only going to get worse. When ApplicativeDo gets
 implemented, using that extension will silently switch between these
 things. For instance, if ApplicativeDo were on in the file with the custom
 `mapM`, it would already be the same as `traverse`, I think.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10457#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list