summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libraries/base/Data/Monoid.hs20
-rw-r--r--libraries/base/changelog.md3
2 files changed, 3 insertions, 20 deletions
diff --git a/libraries/base/Data/Monoid.hs b/libraries/base/Data/Monoid.hs
index f8925cbfb7..479dac88f5 100644
--- a/libraries/base/Data/Monoid.hs
+++ b/libraries/base/Data/Monoid.hs
@@ -129,16 +129,6 @@ import Data.Semigroup.Internal
--
-- >>> getFirst (First (Just "hello") <> First Nothing <> First (Just "world"))
-- Just "hello"
---
--- Use of this type is discouraged. Note the following equivalence:
---
--- > Data.Monoid.First x === Maybe (Data.Semigroup.First x)
---
--- In addition to being equivalent in the structural sense, the two
--- also have 'Monoid' instances that behave the same. This type will
--- be marked deprecated in GHC 8.8, and removed in GHC 8.10.
--- Users are advised to use the variant from "Data.Semigroup" and wrap
--- it in 'Maybe'.
newtype First a = First { getFirst :: Maybe a }
deriving ( Eq -- ^ @since 2.01
, Ord -- ^ @since 2.01
@@ -168,16 +158,6 @@ instance Monoid (First a) where
--
-- >>> getLast (Last (Just "hello") <> Last Nothing <> Last (Just "world"))
-- Just "world"
---
--- Use of this type is discouraged. Note the following equivalence:
---
--- > Data.Monoid.Last x === Maybe (Data.Semigroup.Last x)
---
--- In addition to being equivalent in the structural sense, the two
--- also have 'Monoid' instances that behave the same. This type will
--- be marked deprecated in GHC 8.8, and removed in GHC 8.10.
--- Users are advised to use the variant from "Data.Semigroup" and wrap
--- it in 'Maybe'.
newtype Last a = Last { getLast :: Maybe a }
deriving ( Eq -- ^ @since 2.01
, Ord -- ^ @since 2.01
diff --git a/libraries/base/changelog.md b/libraries/base/changelog.md
index 06b9a108ef..68ea4670ce 100644
--- a/libraries/base/changelog.md
+++ b/libraries/base/changelog.md
@@ -11,6 +11,9 @@
* Add `singleton` function for `Data.List.NonEmpty`.
+ * The planned deprecation of `Data.Monoid.First` and `Data.Monoid.Last`
+ is scrapped due to difficulties with the suggested migration path.
+
* Add `Generic` instances to `Fingerprint`, `GiveGCStats`, `GCFlags`,
`ConcFlags`, `DebugFlags`, `CCFlags`, `DoHeapProfile`, `ProfFlags`,
`DoTrace`, `TraceFlags`, `TickyFlags`, `ParFlags`, `RTSFlags`, `RTSStats`,