summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2022-03-01 16:35:44 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-03-02 14:12:19 -0500
commit73864f006fa87fe16d4ede6363bf302d3b6cb202 (patch)
treef9858b237f93bc00d2b427b6ecaa15758f85c7f7
parent91a10cb06aa9ace905adeff3cc795de9c40f64a9 (diff)
downloadhaskell-73864f006fa87fe16d4ede6363bf302d3b6cb202.tar.gz
base: Remove default method from bitraversable
The default instance leads to an infinite loop. bisequenceA is defined in terms of bisquence which is defined in terms of bitraverse. ``` bitraverse f g = (defn of bitraverse) bisequenceA . bimap f g = (defn of bisequenceA) bitraverse id id . bimap f g = (defn of bitraverse) ... ``` Any instances defined without an explicitly implementation are currently broken, therefore removing it will alert users to an issue in their code. CLC issue: https://github.com/haskell/core-libraries-committee/issues/47 Fixes #20329 #18901
-rw-r--r--libraries/base/Data/Bitraversable.hs1
1 files changed, 0 insertions, 1 deletions
diff --git a/libraries/base/Data/Bitraversable.hs b/libraries/base/Data/Bitraversable.hs
index b0278a00c5..f4e3c4297f 100644
--- a/libraries/base/Data/Bitraversable.hs
+++ b/libraries/base/Data/Bitraversable.hs
@@ -127,7 +127,6 @@ class (Bifunctor t, Bifoldable t) => Bitraversable t where
--
-- @since 4.10.0.0
bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> t a b -> f (t c d)
- bitraverse f g = bisequenceA . bimap f g
-- | Alias for 'bisequence'.
--