[GHC] #9586: Implement Traversable/Foldable-Burning-Bridges Proposal

GHC ghc-devs at haskell.org
Mon Sep 22 07:40:03 UTC 2014


#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 hvr):

 Replying to [comment:19 goldfire]:
 > See also comment:4:ticket:9568 and comment:5:ticket:9568 which were
 posted to the wrong ticket.

 Thanks for noticing. With so many commits this was bound to happen... :-)

 -----

 In [changeset:"05cf18f883bf2d49b53a1d25cb57eff3333eb0c9/ghc"]:
 {{{
 Generalise (some of) Data.List to Foldables (re #9568)

 This replaces the entities in Data.List conflicting with Data.Foldable
 with re-exports of the generalised version from Data.Foldable.

 As of this commit, the following compiles w/o error

     module XPrelude (module X) where

     import Control.Monad as X
     import Data.Foldable as X
     import Data.List as X
     import Prelude as X

 Reviewed By: austin, dfeuer, ekmett

 Differential Revision: https://phabricator.haskell.org/D229
 }}}

 -----

 In [changeset:"1f7f46f94a95ab7fc6f3101da7c02529e1964f24/ghc"]:
 {{{
 Generalise Data.List/Control.Monad to Foldable/Traversable

 This flips the switch and replaces the entities in
 `Data.List`/`Control.Monad` conflicting with
 `Data.{Foldable,Traversable}` with re-exports of the more general
 versions.

 As of this commit, the code below (which is also added as a test-case)
 compiles w/o error.

     module XPrelude (module X) where

     import Control.Monad     as X
     import Data.Foldable     as X
     import Data.List         as X
     import Data.Monoid       as X
     import Data.Traversable  as X
     import Prelude           as X

 This addresses #9568

 Reviewed By: ekmett, austin

 Differential Revision: https://phabricator.haskell.org/D235
 }}}

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


More information about the ghc-tickets mailing list