summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2022-03-01 16:35:44 +0000
committerMatthew Pickering <matthewtpickering@gmail.com>2022-03-01 16:38:22 +0000
commitd7c9e5222a4863348a503d24cc31e511061d9fe5 (patch)
treef0134784ebce552a6d1fe9c253494a16cf6542fe
parentd734ef8f78203b856dcfaf19eaebfed6ec623850 (diff)
downloadhaskell-wip/bitraverse.tar.gz
base: Remove default method from bitraversablewip/bitraverse
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'.
--