base-compat 0.10.0 → 0.10.1
raw patch · 5 files changed
+100/−2 lines, 5 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ Data.List.NonEmpty.Compat: (!!) :: () => NonEmpty a -> Int -> a
+ Data.List.NonEmpty.Compat: (:|) :: a -> [a] -> NonEmpty a
+ Data.List.NonEmpty.Compat: (<|) :: () => a -> NonEmpty a -> NonEmpty a
+ Data.List.NonEmpty.Compat: break :: () => (a -> Bool) -> NonEmpty a -> ([a], [a])
+ Data.List.NonEmpty.Compat: cons :: () => a -> NonEmpty a -> NonEmpty a
+ Data.List.NonEmpty.Compat: cycle :: () => NonEmpty a -> NonEmpty a
+ Data.List.NonEmpty.Compat: data NonEmpty a :: * -> *
+ Data.List.NonEmpty.Compat: drop :: () => Int -> NonEmpty a -> [a]
+ Data.List.NonEmpty.Compat: dropWhile :: () => (a -> Bool) -> NonEmpty a -> [a]
+ Data.List.NonEmpty.Compat: filter :: () => (a -> Bool) -> NonEmpty a -> [a]
+ Data.List.NonEmpty.Compat: fromList :: () => [a] -> NonEmpty a
+ Data.List.NonEmpty.Compat: group :: (Foldable f, Eq a) => f a -> [NonEmpty a]
+ Data.List.NonEmpty.Compat: group1 :: Eq a => NonEmpty a -> NonEmpty NonEmpty a
+ Data.List.NonEmpty.Compat: groupAllWith :: Ord b => (a -> b) -> [a] -> [NonEmpty a]
+ Data.List.NonEmpty.Compat: groupAllWith1 :: Ord b => (a -> b) -> NonEmpty a -> NonEmpty NonEmpty a
+ Data.List.NonEmpty.Compat: groupBy :: Foldable f => (a -> a -> Bool) -> f a -> [NonEmpty a]
+ Data.List.NonEmpty.Compat: groupBy1 :: () => (a -> a -> Bool) -> NonEmpty a -> NonEmpty NonEmpty a
+ Data.List.NonEmpty.Compat: groupWith :: (Foldable f, Eq b) => (a -> b) -> f a -> [NonEmpty a]
+ Data.List.NonEmpty.Compat: groupWith1 :: Eq b => (a -> b) -> NonEmpty a -> NonEmpty NonEmpty a
+ Data.List.NonEmpty.Compat: head :: () => NonEmpty a -> a
+ Data.List.NonEmpty.Compat: infixr 5 <|
+ Data.List.NonEmpty.Compat: init :: () => NonEmpty a -> [a]
+ Data.List.NonEmpty.Compat: inits :: Foldable f => f a -> NonEmpty [a]
+ Data.List.NonEmpty.Compat: insert :: (Foldable f, Ord a) => a -> f a -> NonEmpty a
+ Data.List.NonEmpty.Compat: intersperse :: () => a -> NonEmpty a -> NonEmpty a
+ Data.List.NonEmpty.Compat: isPrefixOf :: Eq a => [a] -> NonEmpty a -> Bool
+ Data.List.NonEmpty.Compat: iterate :: () => (a -> a) -> a -> NonEmpty a
+ Data.List.NonEmpty.Compat: last :: () => NonEmpty a -> a
+ Data.List.NonEmpty.Compat: length :: () => NonEmpty a -> Int
+ Data.List.NonEmpty.Compat: map :: () => (a -> b) -> NonEmpty a -> NonEmpty b
+ Data.List.NonEmpty.Compat: nonEmpty :: () => [a] -> Maybe NonEmpty a
+ Data.List.NonEmpty.Compat: nub :: Eq a => NonEmpty a -> NonEmpty a
+ Data.List.NonEmpty.Compat: nubBy :: () => (a -> a -> Bool) -> NonEmpty a -> NonEmpty a
+ Data.List.NonEmpty.Compat: partition :: () => (a -> Bool) -> NonEmpty a -> ([a], [a])
+ Data.List.NonEmpty.Compat: repeat :: () => a -> NonEmpty a
+ Data.List.NonEmpty.Compat: reverse :: () => NonEmpty a -> NonEmpty a
+ Data.List.NonEmpty.Compat: scanl :: Foldable f => (b -> a -> b) -> b -> f a -> NonEmpty b
+ Data.List.NonEmpty.Compat: scanl1 :: () => (a -> a -> a) -> NonEmpty a -> NonEmpty a
+ Data.List.NonEmpty.Compat: scanr :: Foldable f => (a -> b -> b) -> b -> f a -> NonEmpty b
+ Data.List.NonEmpty.Compat: scanr1 :: () => (a -> a -> a) -> NonEmpty a -> NonEmpty a
+ Data.List.NonEmpty.Compat: some1 :: Alternative f => f a -> f NonEmpty a
+ Data.List.NonEmpty.Compat: sort :: Ord a => NonEmpty a -> NonEmpty a
+ Data.List.NonEmpty.Compat: sortBy :: () => (a -> a -> Ordering) -> NonEmpty a -> NonEmpty a
+ Data.List.NonEmpty.Compat: sortWith :: Ord o => (a -> o) -> NonEmpty a -> NonEmpty a
+ Data.List.NonEmpty.Compat: span :: () => (a -> Bool) -> NonEmpty a -> ([a], [a])
+ Data.List.NonEmpty.Compat: splitAt :: () => Int -> NonEmpty a -> ([a], [a])
+ Data.List.NonEmpty.Compat: tail :: () => NonEmpty a -> [a]
+ Data.List.NonEmpty.Compat: tails :: Foldable f => f a -> NonEmpty [a]
+ Data.List.NonEmpty.Compat: take :: () => Int -> NonEmpty a -> [a]
+ Data.List.NonEmpty.Compat: takeWhile :: () => (a -> Bool) -> NonEmpty a -> [a]
+ Data.List.NonEmpty.Compat: toList :: () => NonEmpty a -> [a]
+ Data.List.NonEmpty.Compat: transpose :: () => NonEmpty NonEmpty a -> NonEmpty NonEmpty a
+ Data.List.NonEmpty.Compat: uncons :: () => NonEmpty a -> (a, Maybe NonEmpty a)
+ Data.List.NonEmpty.Compat: unfold :: () => (a -> (b, Maybe a)) -> a -> NonEmpty b
+ Data.List.NonEmpty.Compat: unfoldr :: () => (a -> (b, Maybe a)) -> a -> NonEmpty b
+ Data.List.NonEmpty.Compat: unzip :: Functor f => f (a, b) -> (f a, f b)
+ Data.List.NonEmpty.Compat: xor :: NonEmpty Bool -> Bool
+ Data.List.NonEmpty.Compat: zip :: () => NonEmpty a -> NonEmpty b -> NonEmpty (a, b)
+ Data.List.NonEmpty.Compat: zipWith :: () => (a -> b -> c) -> NonEmpty a -> NonEmpty b -> NonEmpty c
- Data.Monoid.Compat: (<>) :: Monoid m => m -> m -> m
+ Data.Monoid.Compat: (<>) :: Semigroup a => a -> a -> a
Files
- CHANGES.markdown +4/−0
- base-compat.cabal +3/−1
- src/Data/List/NonEmpty/Compat.hs +78/−0
- src/Data/List/NonEmpty/Compat/Repl.hs +8/−0
- src/Data/Monoid/Compat.hs +7/−1
CHANGES.markdown view
@@ -1,3 +1,7 @@+## Changes in 0.10.1 [2018.04.10]+- Add `Data.List.NonEmpty.Compat`.+- Reexport `(Data.Semigroup.<>)` from `Data.Monoid.Compat` back to `base-4.9`.+ ## Changes in 0.10.0 [2018.04.05] - Sync with `base-4.11`/GHC 8.4 - Backport `Semigroup((<>))` to `Prelude.Compat`.
base-compat.cabal view
@@ -1,5 +1,5 @@ name: base-compat-version: 0.10.0+version: 0.10.1 license: MIT license-file: LICENSE copyright: (c) 2012-2018 Simon Hengel,@@ -97,6 +97,7 @@ Data.Functor.Sum.Compat Data.IORef.Compat Data.List.Compat+ Data.List.NonEmpty.Compat Data.Monoid.Compat Data.Proxy.Compat Data.Ratio.Compat@@ -151,6 +152,7 @@ Data.Functor.Sum.Compat.Repl Data.IORef.Compat.Repl Data.List.Compat.Repl+ Data.List.NonEmpty.Compat.Repl Data.Monoid.Compat.Repl Data.Proxy.Compat.Repl Data.Ratio.Compat.Repl
+ src/Data/List/NonEmpty/Compat.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE CPP, NoImplicitPrelude #-}+-- | This backports the modern "Data.Semigroup" interface back to+-- @base-4.9@/GHC 8.0.+module Data.List.NonEmpty.Compat (+#if MIN_VERSION_base(4,9,0)+ -- * The type of non-empty streams+ NonEmpty(..)++ -- * Non-empty stream transformations+ , map + , intersperse + , scanl + , scanr + , scanl1 + , scanr1 + , transpose + , sortBy + , sortWith + -- * Basic functions+ , length + , head + , tail + , last + , init + , (<|), cons + , uncons + , unfoldr + , sort + , reverse + , inits + , tails + -- * Building streams+ , iterate + , repeat + , cycle + , unfold + , insert + , some1 + -- * Extracting sublists+ , take + , drop + , splitAt + , takeWhile + , dropWhile + , span + , break + , filter + , partition + , group + , groupBy + , groupWith + , groupAllWith + , group1 + , groupBy1 + , groupWith1 + , groupAllWith1 + -- * Sublist predicates+ , isPrefixOf + -- * \"Set\" operations+ , nub + , nubBy + -- * Indexing streams+ , (!!) + -- * Zipping and unzipping streams+ , zip + , zipWith + , unzip + -- * Converting to and from a list+ , fromList + , toList + , nonEmpty + , xor +#endif+) where++#if MIN_VERSION_base(4,9,0)+import Data.List.NonEmpty+#endif
+ src/Data/List/NonEmpty/Compat/Repl.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE PackageImports #-}+{-# OPTIONS_GHC -fno-warn-dodgy-exports -fno-warn-unused-imports #-}+-- | Reexports "Data.List.NonEmpty.Compat"+-- from a globally unique namespace.+module Data.List.NonEmpty.Compat.Repl (+ module Data.List.NonEmpty.Compat+) where+import "this" Data.List.NonEmpty.Compat
src/Data/Monoid/Compat.hs view
@@ -5,8 +5,14 @@ ) where import Data.Monoid as Base+#if MIN_VERSION_base(4,9,0)+ hiding ((<>))+#endif+#if MIN_VERSION_base(4,9,0)+import Data.Semigroup ((<>))+#endif -#if !(MIN_VERSION_base(4,5,0))+#if !(MIN_VERSION_base(4,5,0)) && !(MIN_VERSION_base(4,9,0)) infixr 6 <>