[GHC] #9586: Implement Traversable/Foldable-Burning-Bridges Proposal
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: new Priority: normal | Milestone: 7.10.1 Component: libraries/base | Version: Keywords: | Operating System: Architecture: Unknown/Multiple | Unknown/Multiple Difficulty: Difficult (2-5 | Type of failure: days) | None/Unknown Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- More details to follow. I've created this ticket to be able to refer to from related preparatory commits. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Changes (by hvr): * differential: => Phab:D209 Comment: The medium-sized patch in Phab:D209 implements the **first phase**, namely to re-export solely the two type-classes `Foldable` and `Traversable` (sans any methods) from `Prelude` -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Comment (by Herbert Valerio Riedel <hvr@…>): In [changeset:"c0fa383d9109800a4e46a81b418f1794030ba1bd/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="c0fa383d9109800a4e46a81b418f1794030ba1bd" Export `Traversable()` and `Foldable()` from Prelude This exposes *only* the type-classes w/o any of their methods. This is the very first step for implementing BPP (see #9586), which already requires breaking up several import-cycles leading back to `Prelude`. Ideally, importing `Prelude` should be avoided in most `base` modules, as `Prelude` does not define any entities, but rather re-exports existing ones. Test Plan: validate passes Reviewers: ekmett, austin Reviewed By: ekmett, austin Subscribers: simonmar, ezyang, carter Differential Revision: https://phabricator.haskell.org/D209 GHC Trac Issues: #9586 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Description changed by hvr: Old description:
More details to follow. I've created this ticket to be able to refer to from related preparatory commits.
New description: More details to follow. I've created this ticket to be able to refer to from related preparatory commits. In a nutshell the goal (more or less) of this proposal is to be able to compile code like the following w/o errors (due to conflicting definitions): {{{#!hs module XPrelude (module X) where import Data.Foldable as X import Data.Traversable as X import Data.List as X import Control.Monad as X import Prelude as X }}} -- -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Comment (by dfeuer): I think if you're doing this, it would make sense to generalize these too: {{{#!hs null :: (Foldable f) => f a -> Bool null = foldr (const True) False length :: (Foldable f) => f a -> Int length = foldl' (\k _ -> k + 1) 0 --and even though it's a very strange thing already genericLength :: (Foldable f, Num n) => f a -> n genericLength = foldr (\_ k -> 1 + k) 0 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Comment (by dfeuer): Replying to [comment:4 dfeuer]: rwbarton points out that there are optimized versions of these for various things, and that most containers use `size` instead of `length`. Therefore, I would propose instead adding `size` and `null` to the `Foldable` class, with default definitions as above. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Comment (by Herbert Valerio Riedel <hvr@…>): In [changeset:"a94dc4c3067c6a0925e2e39f35ef0930771535f1/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="a94dc4c3067c6a0925e2e39f35ef0930771535f1" Move Applicative/MonadPlus into GHC.Base This is necessary in order to invert the import-dependency between Data.Foldable and Control.Monad (for addressing #9586) This also updates the `binary` submodule to qualify a GHC.Base import Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D223 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:8> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Comment (by Herbert Valerio Riedel <hvr@…>): In [changeset:"af22696b8f6d8b677c33f70537a5999ad94266cd/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="af22696b8f6d8b677c33f70537a5999ad94266cd" Invert module-dep between Control.Monad and Data.Foldable This is the last preparation needed before generalizing entities in Control.Monad conflicting with those from Data.Foldable (re #9586) Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D225 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:9> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Comment (by Herbert Valerio Riedel <hvr@…>): In [changeset:"eae19112462fe77a3f1298bff12b409b205a581d/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="eae19112462fe77a3f1298bff12b409b205a581d" Move `when` to GHC.Base This allows several modules to avoid importing Control.Monad and thus break import cycles that manifest themselves when implementing #9586 Reviewed By: austin, ekmett Differential Revision: https://phabricator.haskell.org/D222 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:7> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Comment (by Herbert Valerio Riedel <hvr@…>): In [changeset:"8b9083655f34120b47fe407123272e0687e0bd60/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="8b9083655f34120b47fe407123272e0687e0bd60" Move (=<<) to GHC.Base This allows GHC.Stack to avoid importing Control.Monad, and is preparatory work for implementing #9586 Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D221 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:6> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Comment (by Herbert Valerio Riedel <hvr@…>): In [changeset:"b4060858f5201489e11ab57063e72380c03c3b55/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="b4060858f5201489e11ab57063e72380c03c3b55" Generalise Control.Monad.{sequence_,msum,mapM_,forM_} This finally takes the gloves off, and performs the first actual generalization in order to implement #9586. This re-exports the respective definitions for the 4 combinators defined in Data.Foldable. This way, importing Data.Foldable and Control.Monad unqualified won't bring conflicting definitions of those 4 entities into scope anymore. This change seems to have some minor effect on rule-firing, which causes some wibble in the test-case T4007 Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D226 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:10> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Comment (by dfeuer): rwbarton mentions also `scanl1` and `scanr1`. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:11> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Comment (by Herbert Valerio Riedel <hvr@…>): In [changeset:"3daf0023d2dcf7caf85d61f2dc177f8e9421b2fd/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="3daf0023d2dcf7caf85d61f2dc177f8e9421b2fd" Set up framework for generalising Data.List to Foldables This renames the Data.List module to Data.OldList, and puts a new Data.List module into its place re-exporting all list functions. The plan is to leave the monomorphic versions of the list functions in Data.OldList to help smooth the transition. The new Data.List module then will simply re-export entities from Data.OldList and Data.Foldable. This refactoring has been placed in a separate commit to be able to better isolate any regressions caused by the actual list function generalisations when implementing #9586 This also updates the haskell2010, haskell98, and array submodules Reviewed By: austin, ekmett Differential Revision: https://phabricator.haskell.org/D228 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:12> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Comment (by Herbert Valerio Riedel <hvr@…>): In [changeset:"1812898c0332c6807201938911bb914633267d9d/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="1812898c0332c6807201938911bb914633267d9d" Turn a few existing folds into `Foldable`-methods (#9621) Turn `toList`, `elem`, `sum`, `product`, `maximum`, and `minimum` into `Foldable` methods. This helps avoiding regressions (and semantic differences) while implementing #9586 Reviewed By: austin, dfeuer, ekmett Differential Revision: https://phabricator.haskell.org/D231 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:13> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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: Test Case: | Blocking: | Differential Revisions: Phab:D209 | -------------------------------------+------------------------------------- Comment (by Herbert Valerio Riedel <hvr@…>): In [changeset:"ed65808cebf068a98f564f6ad962838c6526591b/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="ed65808cebf068a98f564f6ad962838c6526591b" Add missing changelog entries for current state of #9586 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:14> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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 | -------------------------------------+------------------------------------- Changes (by hvr): * related: => #9621 Comment: Replying to [comment:5 dfeuer]:
rwbarton points out that there are optimized versions of these for various things, and that most containers use `size` instead of `length`. Therefore, I would propose instead adding `size` and `null` to the `Foldable` class, with default definitions as above.
Extending `Foldable` has become a ticket of its own at #9621 -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:15> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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 Herbert Valerio Riedel <hvr@…>): In [changeset:"e7c1633203e33c4a1af866c8658683bcef20a514/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="e7c1633203e33c4a1af866c8658683bcef20a514" Simplify import-graph a bit more This is preparatory refactoring for avoiding import cycles when `Data.Traversable` will be imported by `Control.Monad` and `Data.List` for implementing #9586 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:16> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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 Herbert Valerio Riedel <hvr@…>): In [changeset:"5ed12810e0972b1e0d408fe1355805746c4614f9/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="5ed12810e0972b1e0d408fe1355805746c4614f9" Move `mapM` and `sequence` to GHC.Base and break import-cycles This simplifies the import graph and more importantly removes import cycles that arise due to `Control.Monad` & `Data.List` importing `Data.Traversable` (preparation for #9586) Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D234 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:17> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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 Herbert Valerio Riedel <hvr@…>): In [changeset:"b8f583928fa6cb5371a872fc73080d2002dd87d9/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="b8f583928fa6cb5371a872fc73080d2002dd87d9" Export `Monoid(..)`/`Foldable(..)`/`Traversable(..)` from Prelude This finally exposes also the methods of these 3 classes in the Prelude in order to allow to define basic class instances w/o needing imports. This almost completes the primary goal of #9586 NOTE: `fold`, `foldl'`, `foldr'`, and `toList` are not exposed yet, as they require upstream fixes for at least `containers` and `bytestring`, and are not required for defining basic instances. Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D236 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:18> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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 goldfire): See also comment:4:ticket:9568 and comment:5:ticket:9568 which were posted to the wrong ticket. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:19> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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
#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 Herbert Valerio Riedel <hvr@…>): In [changeset:"27b937e5012c902a513dbc3b6ae24bf490ce656e/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="27b937e5012c902a513dbc3b6ae24bf490ce656e" Fix windows breakage from 5ed12810e0972b1e due to import cycles Refs #9586 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:21> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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 Herbert Valerio Riedel <hvr@…>): In [changeset:"165072b334ebb2ccbef38a963ac4d126f1e08c96/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="165072b334ebb2ccbef38a963ac4d126f1e08c96" Adapt nofib submodule to #9586 changes }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:22> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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 Herbert Valerio Riedel <hvr@…>): In [changeset:"319703ee0c97c593be514222fdee06555816cda4/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="319703ee0c97c593be514222fdee06555816cda4" Don't re-export `Alternative(..)` from Control.Monad (re #9586) This was done in d94de87252d0fe2ae97341d186b03a2fbe136b04 to avoid orphans but since a94dc4c3067c6a0925e2e39f35ef0930771535f1 moved `Alternative` into GHC.Base, this isn't needed anymore. This is important, as otherwise this would require a non-neglectable amount of `Control.Monad hiding ((<|>), empty)` imports in user code. The Haddock submodule is updated as well Test Plan: partial local ./validate --fast, let Harbormaster doublecheck it Reviewed By: ekmett, austin Differential Revision: https://phabricator.haskell.org/D248 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:23> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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 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 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:24> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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 | -------------------------------------+------------------------------------- Description changed by hvr: Old description:
More details to follow. I've created this ticket to be able to refer to from related preparatory commits.
In a nutshell the goal (more or less) of this proposal is to be able to compile code like the following w/o errors (due to conflicting definitions):
{{{#!hs module XPrelude (module X) where
import Data.Foldable as X import Data.Traversable as X import Data.List as X import Control.Monad as X import Prelude as X }}}
New description: More details to follow. I've created this ticket to be able to refer to from related preparatory commits. In a nutshell the FTP (Foldable/Traversable-Proposal) sub-goal of the BBP (Burning-Bridges-Proposal) includes to be able to compile code like the following w/o errors (due to conflicting definitions): {{{#!hs module XPrelude (module X) where import Data.Foldable as X import Data.Traversable as X import Data.List as X import Control.Monad as X import Prelude as X }}} Other goals include to generalise/weaken type-signatures where possible w/o breaking (much) compatibility with existing code. An in-depth design- document is in the works. -- -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:25> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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:18 Herbert Valerio Riedel <hvr@…>]:
In [changeset:"b8f583928fa6cb5371a872fc73080d2002dd87d9/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="b8f583928fa6cb5371a872fc73080d2002dd87d9" Export `Monoid(..)`/`Foldable(..)`/`Traversable(..)` from Prelude
This finally exposes also the methods of these 3 classes in the Prelude in order to allow to define basic class instances w/o needing imports.
This almost completes the primary goal of #9586
NOTE: `fold`, `foldl'`, `foldr'`, and `toList` are not exposed yet, as they require upstream fixes for at least `containers` and `bytestring`, and are not required for defining basic instances.
Reviewed By: ekmett, austin
Differential Revision: https://phabricator.haskell.org/D236 }}}
This patch seems to be unrelated to the scope of this ticket. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:26> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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
#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 dfeuer): Replying to [comment:27 rwbarton]:
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?
`filterM` cannot be generalized to `Traversable` in any sensible way—it needs something stronger. `forever` and `replicateM_` should be easy. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:28> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#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:28 dfeuer]:
Replying to [comment:27 rwbarton]:
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?
`filterM` cannot be generalized to `Traversable` in any sensible way—it needs something stronger. `forever` and `replicateM_` should be easy.
I mean generalize from Monad to Applicative, not from [] to Traversable. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:29> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: new Priority: normal | Milestone: 7.10.1 Component: Core | Version: Libraries | 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 Herbert Valerio Riedel <hvr@…>): In [changeset:"ce23745147b9aab99187e266412efa27148a9b19/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="ce23745147b9aab99187e266412efa27148a9b19" Generalise `Control.Monad.{foldM,foldM_}` to `Foldable` (#9586) With this change `Control.Monad.foldM` becomes an alias for `Data.Foldable.foldlM`. Reviewed By: austin, ekmett Differential Revision: https://phabricator.haskell.org/D251 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:31> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: closed Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: #9621 | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Changes (by hvr): * cc: core-libraries-committee@… (added) * status: new => closed * resolution: => fixed Comment: Let's close this; everything that was planned for milestone:7.10.1 has been implemented -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:32> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: closed Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: #9621 | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Comment (by George): The description at the top says "An in-depth design-document is in the works." Was that done? If so, is there a link to it? -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:33> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: closed Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: Related Tickets: #9621 | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Comment (by ekmett): https://wiki.haskell.org/Foldable_Traversable_In_Prelude is the page we're grooming for that purpose. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:34> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: closed Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: fixed | Keywords: report- Operating System: Unknown/Multiple | impact Type of failure: None/Unknown | Architecture: Blocked By: | Unknown/Multiple Related Tickets: #9621 | Test Case: | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Comment (by George): Given the ongoing discussion in e.g. the Libraries mailing list should the status still be closed? Are all the proposed changes in 7.10RC2? If so when will the 7.10 doc be updated to reflect them? -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:36> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: closed Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: fixed | Keywords: report- Operating System: Unknown/Multiple | impact Type of failure: None/Unknown | Architecture: Blocked By: | Unknown/Multiple Related Tickets: #9621 | Test Case: | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Changes (by George): * cc: George (added) -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:37> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: closed Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: fixed | Keywords: report- Operating System: Unknown/Multiple | impact Type of failure: None/Unknown | Architecture: Blocked By: | Unknown/Multiple Related Tickets: #9621 | Test Case: | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Comment (by ekmett): We are currently constructing a poll and summaries of two possible plans of action that will go out in the next day or so. Based on the results of that poll, which will likely run until the 28th or so, to give folks a couple of weeks to respond, Simon Peyton Jones and Simon Marlow will come to a decision on how we are going to proceed for 7.10. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:38> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: closed Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: fixed | Keywords: report- Operating System: Unknown/Multiple | impact Type of failure: None/Unknown | Architecture: Blocked By: | Unknown/Multiple Related Tickets: #9621 | Test Case: | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Comment (by hvr): Replying to [comment:36 George]:
If so when will the 7.10 doc be updated to reflect them?
Which part of the documentation are you referring to, btw? -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:39> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: closed Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: fixed | Keywords: report- Operating System: Unknown/Multiple | impact Type of failure: None/Unknown | Architecture: Blocked By: | Unknown/Multiple Related Tickets: #9621 | Test Case: | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Comment (by George): Thanks but I don't see an answer to my questions: 1) Should the status of this ticket still be closed? This issue doesn't show on https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.10.1 but the issue still appears to be open thus the referenced Status page doesn't give an indication of the true status of the release 2) Are all the proposed changes in 7.10RC2? wrt doc I am referring to the GHC User's Guide and Hackage documentation such as https://hackage.haskell.org/package/base-4.7.0.2/docs/Data- List.html -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:40> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: closed Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: fixed | Keywords: report- Operating System: Unknown/Multiple | impact Type of failure: None/Unknown | Architecture: Blocked By: | Unknown/Multiple Related Tickets: #9621 | Test Case: | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Changes (by lelf): * cc: lelf (added) -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:41> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: Type: task | Status: new Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: | Keywords: report- Operating System: Unknown/Multiple | impact Type of failure: None/Unknown | Architecture: Blocked By: | Unknown/Multiple Related Tickets: #9621 | Test Case: | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Changes (by ekmett): * owner: hvr => * status: closed => new * resolution: fixed => -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:42> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: new Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: | Keywords: report- Operating System: Unknown/Multiple | impact Type of failure: None/Unknown | Architecture: Blocked By: | Unknown/Multiple Related Tickets: #9621 | Test Case: | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Changes (by ekmett): * owner: => hvr -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:43> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: infoneeded Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: | Keywords: report- Operating System: Unknown/Multiple | impact Type of failure: None/Unknown | Architecture: Blocked By: | Unknown/Multiple Related Tickets: #9621 | Test Case: | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Changes (by ekmett): * status: new => infoneeded -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:44> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: infoneeded Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: | Keywords: report- Operating System: Unknown/Multiple | impact Type of failure: None/Unknown | Architecture: Blocked By: | Unknown/Multiple Related Tickets: #9621 | Test Case: | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Comment (by ekmett): I've re-opened this ticket while we seek feedback via https://goo.gl/forms/XP1W2JdfpX to connote its as-yet-ambiguous fate. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:45> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: infoneeded Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: | Keywords: report- Operating System: Unknown/Multiple | impact Type of failure: None/Unknown | Architecture: Blocked By: | Unknown/Multiple Related Tickets: #9621 | Test Case: | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Comment (by hvr): Replying to [comment:40 George]:
2) Are all the proposed changes in 7.10RC2?
wrt doc I am referring to the GHC User's Guide and Hackage documentation such as https://hackage.haskell.org/package/base-4.7.0.2/docs/Data- List.html
You can take a look at the base-4.8 candidate documentation for the mean- time which is fairly recent: http://hackage.haskell.org/package/base-4.8.0.0/candidate -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:46> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#9586: Implement Traversable/Foldable-Burning-Bridges Proposal -------------------------------------+------------------------------------- Reporter: hvr | Owner: hvr Type: task | Status: closed Priority: normal | Milestone: 7.10.1 Component: Core Libraries | Version: Resolution: fixed | Keywords: report- Operating System: Unknown/Multiple | impact Type of failure: None/Unknown | Architecture: Blocked By: | Unknown/Multiple Related Tickets: #9621 | Test Case: | Blocking: | Differential Revisions: Phab:D209 -------------------------------------+------------------------------------- Changes (by George): * status: infoneeded => closed * resolution: => fixed Comment: It has been decided that we will move do this for 7.10.1, see https://mail.haskell.org/pipermail/libraries/2015-February/025009.html -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9586#comment:47> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC