#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: new Priority: normal | Milestone: 7.10.1 Component: | Version: libraries/base | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Difficult (2-5 Unknown/Multiple | days) Type of failure: | Blocked By: None/Unknown | Related Tickets: #9621 Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Comment (by rwbarton): Replying to [comment:24 Herbert Valerio Riedel <hvr@…>]:
In [changeset:"a07ce1654ac5b8033f2daf9270c6e182415b69ca/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="a07ce1654ac5b8033f2daf9270c6e182415b69ca" Generalise `Control.Monad.{when,unless,guard}`
Generalise `when`/`unless`from `Monad` to `Applicative` and `guard` from `MonadPlus` to `Alternative` respectively.
This was made possible by the AMP and is somewhat related to #9586 (but generalising in the context of the AMP instead of the FTP)
Reviewed By: ekmett, austin
Differential Revision: https://phabricator.haskell.org/D253 }}}
Off-topic for this ticket but why not also generalize `filterM`, `forever`, ..., `replicateM_`? Are there hangups about the letter M in the names of some of these functions? -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:27> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler