packages feed

yaya-containers 0.1.1.0 → 0.1.2.0

raw patch · 5 files changed

+327/−88 lines, 5 filesdep ~yayaPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: yaya

API changes (from Hackage documentation)

+ Yaya.Containers.Pattern.IntMap: instance (GHC.Read.Read a, GHC.Read.Read r) => GHC.Read.Read (Yaya.Containers.Pattern.IntMap.IntMapF a r)
+ Yaya.Containers.Pattern.IntMap: instance Data.Functor.Classes.Read2 Yaya.Containers.Pattern.IntMap.IntMapF
+ Yaya.Containers.Pattern.IntMap: instance GHC.Read.Read a => Data.Functor.Classes.Read1 (Yaya.Containers.Pattern.IntMap.IntMapF a)
+ Yaya.Containers.Pattern.IntSet: instance Data.Functor.Classes.Read1 Yaya.Containers.Pattern.IntSet.IntSetF
+ Yaya.Containers.Pattern.IntSet: instance GHC.Read.Read r => GHC.Read.Read (Yaya.Containers.Pattern.IntSet.IntSetF r)
+ Yaya.Containers.Pattern.Map: compareMapF :: (k -> k' -> Ordering) -> (v -> v' -> Ordering) -> (r -> r' -> Ordering) -> MapF k v r -> MapF k' v' r' -> Ordering
+ Yaya.Containers.Pattern.Map: eqMapF :: (k -> k' -> Bool) -> (v -> v' -> Bool) -> (r -> r' -> Bool) -> MapF k v r -> MapF k' v' r' -> Bool
+ Yaya.Containers.Pattern.Map: instance (GHC.Read.Read k, GHC.Read.Read v) => Data.Functor.Classes.Read1 (Yaya.Containers.Pattern.Map.MapF k v)
+ Yaya.Containers.Pattern.Map: instance (GHC.Read.Read k, GHC.Read.Read v, GHC.Read.Read r) => GHC.Read.Read (Yaya.Containers.Pattern.Map.MapF k v r)
+ Yaya.Containers.Pattern.Map: instance GHC.Read.Read k => Data.Functor.Classes.Read2 (Yaya.Containers.Pattern.Map.MapF k)
+ Yaya.Containers.Pattern.Map: readMapFPrec :: ReadPrec k -> ReadPrec v -> ReadPrec r -> ReadPrec (MapF k v r)
+ Yaya.Containers.Pattern.Map: showsMapFPrec :: (Int -> k -> ShowS) -> (Int -> v -> ShowS) -> (Int -> r -> ShowS) -> Int -> MapF k v r -> ShowS
+ Yaya.Containers.Pattern.Set: instance (GHC.Read.Read a, GHC.Read.Read r) => GHC.Read.Read (Yaya.Containers.Pattern.Set.SetF a r)
+ Yaya.Containers.Pattern.Set: instance Data.Functor.Classes.Read2 Yaya.Containers.Pattern.Set.SetF
+ Yaya.Containers.Pattern.Set: instance GHC.Read.Read a => Data.Functor.Classes.Read1 (Yaya.Containers.Pattern.Set.SetF a)

Files

src/Yaya/Containers/Pattern/IntMap.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE Safe #-} {-# OPTIONS_GHC -Wno-orphans #-} @@ -6,26 +7,21 @@   ) where +import "base" Control.Applicative (Alternative ((<|>)), Applicative ((<*>)), (*>)) import "base" Control.Category (Category ((.))) import "base" Data.Bool (Bool (False, True), (&&)) import "base" Data.Eq (Eq ((==))) import "base" Data.Foldable (Foldable) import "base" Data.Function (($))-import "base" Data.Functor (Functor (fmap))-import "base" Data.Functor.Classes-  ( Eq1 (liftEq),-    Eq2 (liftEq2),-    Ord1 (liftCompare),-    Ord2 (liftCompare2),-    Show1 (liftShowsPrec),-    Show2 (liftShowsPrec2),-  )+import "base" Data.Functor (Functor (fmap), (<$), (<$>)) import "base" Data.Ord (Ord (compare, (<=)), Ordering (EQ, GT, LT)) import "base" Data.Semigroup ((<>)) import "base" Data.Traversable (Traversable) import qualified "base" Data.Tuple as Tuple import "base" GHC.Generics (Generic, Generic1)-import "base" Text.Show (Show (showList, showsPrec), showParen, showString)+import "base" GHC.Read (Read (readListPrec, readPrec), expectP, parens)+import "base" Text.ParserCombinators.ReadPrec (prec, step)+import qualified "base" Text.Read.Lex as Lex import qualified "containers" Data.IntMap.Internal as IntMap import "yaya" Yaya.Fold   ( Projectable (project),@@ -33,6 +29,31 @@     Steppable (embed),   ) import "base" Prelude (Num ((+)))+#if MIN_VERSION_base(4, 18, 0)+import "base" Data.Functor.Classes+  ( Eq1,+    Eq2 (liftEq2),+    Ord2 (liftCompare2),+    Ord1,+    Read1 (liftReadPrec),+    Read2 (liftReadPrec2),+    Show1,+    Show2 (liftShowsPrec2),+  )+import "base" Text.Show (Show (showsPrec), showParen, showString)+#else+import "base" Data.Functor.Classes+  ( Eq1 (liftEq),+    Eq2 (liftEq2),+    Ord1 (liftCompare),+    Ord2 (liftCompare2),+    Read1 (liftReadPrec),+    Read2 (liftReadPrec2),+    Show1 (liftShowsPrec),+    Show2 (liftShowsPrec2),+  )+import "base" Text.Show (Show (showList, showsPrec), showParen, showString)+#endif  data IntMapF a r   = NilF@@ -42,6 +63,8 @@     ( Eq,       Ord,       Generic,+      -- | @since 0.1.2.0+      Read,       Show,       Foldable,       Functor,@@ -62,10 +85,12 @@   embed (TipF key a) = IntMap.Tip key a   embed (BinF prefix mask l r) = IntMap.Bin prefix mask l r +#if MIN_VERSION_base(4, 18, 0)+instance (Eq a) => Eq1 (IntMapF a)+#else instance (Eq a) => Eq1 (IntMapF a) where-  -- TODO: Remove this once base-4.18 is the oldest supported verson, as it’s-  --       the default impl.   liftEq = liftEq2 (==)+#endif  instance Eq2 IntMapF where   liftEq2 f g = Tuple.curry $ \case@@ -75,10 +100,12 @@       prefix == prefix' && mask == mask' && g l l' && g r r'     (_, _) -> False +#if MIN_VERSION_base(4, 18, 0)+instance (Ord a) => Ord1 (IntMapF a)+#else instance (Ord a) => Ord1 (IntMapF a) where-  -- TODO: Remove this once base-4.18 is the oldest supported verson, as it’s-  --       the default impl.   liftCompare = liftCompare2 compare+#endif  instance Ord2 IntMapF where   liftCompare2 f g = Tuple.curry $ \case@@ -91,25 +118,48 @@       compare prefix prefix' <> compare mask mask' <> g l l' <> g r r'     (BinF {}, _) -> GT +-- | @since 0.1.2.0+instance (Read a) => Read1 (IntMapF a) where+  liftReadPrec = liftReadPrec2 readPrec readListPrec++-- | @since 0.1.2.0+instance Read2 IntMapF where+  liftReadPrec2 readPrecA _ readPrecR _ =+    let appPrec = 10+     in parens . prec appPrec $+          NilF+            <$ expectP (Lex.Ident "NilF")+            <|> expectP (Lex.Ident "TipF")+              *> (TipF <$> step readPrec <*> step readPrecA)+            <|> expectP (Lex.Ident "BinF")+              *> ( BinF+                     <$> step readPrec+                     <*> step readPrec+                     <*> step readPrecR+                     <*> step readPrecR+                 )++#if MIN_VERSION_base(4, 18, 0)+instance (Show a) => Show1 (IntMapF a)+#else instance (Show a) => Show1 (IntMapF a) where-  -- TODO: Remove this once base-4.18 is the oldest supported verson, as it’s-  --       the default impl.   liftShowsPrec = liftShowsPrec2 showsPrec showList+#endif  instance Show2 IntMapF where-  liftShowsPrec2 showsPrecA _showListA showsPrecR _showListR prec =+  liftShowsPrec2 showsPrecA _ showsPrecR _ p =     let appPrec = 10         nextPrec = appPrec + 1      in \case           NilF -> showString "NilF"           TipF key a ->-            showParen (nextPrec <= prec) $-              showString "BipF "+            showParen (nextPrec <= p) $+              showString "TipF "                 . showsPrec nextPrec key                 . showString " "                 . showsPrecA nextPrec a           BinF prefix mask l r ->-            showParen (nextPrec <= prec) $+            showParen (nextPrec <= p) $               showString "BinF "                 . showsPrec nextPrec prefix                 . showString " "
src/Yaya/Containers/Pattern/IntSet.hs view
@@ -6,15 +6,21 @@   ) where +import "base" Control.Applicative+  ( Alternative ((<|>)),+    Applicative ((<*>)),+    (*>),+  ) import "base" Control.Category (Category ((.))) import "base" Data.Bool (Bool (False, True), (&&)) import "base" Data.Eq (Eq ((==))) import "base" Data.Foldable (Foldable) import "base" Data.Function (($))-import "base" Data.Functor (Functor (fmap))+import "base" Data.Functor (Functor (fmap), (<$), (<$>)) import "base" Data.Functor.Classes   ( Eq1 (liftEq),     Ord1 (liftCompare),+    Read1 (liftReadPrec),     Show1 (liftShowsPrec),   ) import "base" Data.Ord (Ord (compare, (<=)), Ordering (EQ, GT, LT))@@ -22,6 +28,9 @@ import "base" Data.Traversable (Traversable) import qualified "base" Data.Tuple as Tuple import "base" GHC.Generics (Generic, Generic1)+import "base" GHC.Read (Read (readPrec), expectP, parens)+import "base" Text.ParserCombinators.ReadPrec (prec, step)+import qualified "base" Text.Read.Lex as Lex import "base" Text.Show (Show (showsPrec), showParen, showString) import qualified "containers" Data.IntSet.Internal as IntSet import "yaya" Yaya.Fold@@ -39,6 +48,8 @@     ( Eq,       Ord,       Generic,+      -- | @since 0.1.2.0+      Read,       Show,       Foldable,       Functor,@@ -79,20 +90,37 @@       compare prefix prefix' <> compare mask mask' <> f l l' <> f r r'     (BinF {}, _) -> GT +-- | @since 0.1.2.0+instance Read1 IntSetF where+  liftReadPrec readPrecR _ =+    let appPrec = 10+     in parens . prec appPrec $+          NilF+            <$ expectP (Lex.Ident "NilF")+            <|> expectP (Lex.Ident "TipF")+              *> (TipF <$> step readPrec <*> step readPrec)+            <|> expectP (Lex.Ident "BinF")+              *> ( BinF+                     <$> step readPrec+                     <*> step readPrec+                     <*> step readPrecR+                     <*> step readPrecR+                 )+ instance Show1 IntSetF where-  liftShowsPrec showsPrecR _showListR prec =+  liftShowsPrec showsPrecR _ p =     let appPrec = 10         nextPrec = appPrec + 1      in \case           NilF -> showString "NilF"           TipF prefix bm ->-            showParen (nextPrec <= prec) $+            showParen (nextPrec <= p) $               showString "TipF "                 . showsPrec nextPrec prefix                 . showString " "                 . showsPrec nextPrec bm           BinF prefix mask l r ->-            showParen (nextPrec <= prec) $+            showParen (nextPrec <= p) $               showString "BinF "                 . showsPrec nextPrec prefix                 . showString " "
src/Yaya/Containers/Pattern/Map.hs view
@@ -1,31 +1,46 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE Safe #-} {-# OPTIONS_GHC -Wno-orphans #-}  module Yaya.Containers.Pattern.Map   ( MapF (BinF, TipF),+    -- | @since 0.1.2.0+    eqMapF,+    -- | @since 0.1.2.0+    compareMapF,+    -- | @since 0.1.2.0+    readMapFPrec,+    -- | @since 0.1.2.0+    showsMapFPrec,   ) where +import "base" Control.Applicative+  ( Alternative ((<|>)),+    Applicative ((<*>)),+    (*>),+  ) import "base" Control.Category (Category ((.))) import "base" Data.Bool (Bool (False, True), (&&)) import "base" Data.Eq (Eq ((==))) import "base" Data.Foldable (Foldable) import "base" Data.Function (($))-import "base" Data.Functor (Functor (fmap))-import "base" Data.Functor.Classes-  ( Eq1 (liftEq),-    Eq2 (liftEq2),-    Ord1 (liftCompare),-    Ord2 (liftCompare2),-    Show1 (liftShowsPrec),-    Show2 (liftShowsPrec2),-  )+import "base" Data.Functor (Functor (fmap), (<$), (<$>))+import "base" Data.Int (Int) import "base" Data.Ord (Ord (compare, (<=)), Ordering (EQ, GT, LT)) import "base" Data.Semigroup ((<>)) import "base" Data.Traversable (Traversable) import qualified "base" Data.Tuple as Tuple import "base" GHC.Generics (Generic, Generic1)-import "base" Text.Show (Show (showList, showsPrec), showParen, showString)+import "base" GHC.Read (expectP)+import "base" Text.Read+  ( Read (readListPrec, readPrec),+    ReadPrec,+    parens,+    prec,+    step,+  )+import qualified "base" Text.Read.Lex as Lex import qualified "containers" Data.Map.Internal as Map import "yaya" Yaya.Fold   ( Projectable (project),@@ -33,12 +48,44 @@     Steppable (embed),   ) import "base" Prelude (Num ((+)))+#if MIN_VERSION_base(4, 18, 0)+import "base" Data.Functor.Classes+  ( Eq1,+    Eq2 (liftEq2),+    Ord1,+    Ord2 (liftCompare2),+    Read1 (liftReadPrec),+    Read2 (liftReadPrec2),+    Show1,+    Show2 (liftShowsPrec2),+  )+import "base" Text.Show (Show (showsPrec), ShowS, showParen, showString)+#else+import "base" Data.Functor.Classes+  ( Eq1 (liftEq),+    Eq2 (liftEq2),+    Ord1 (liftCompare),+    Ord2 (liftCompare2),+    Read1 (liftReadPrec),+    Read2 (liftReadPrec2),+    Show1 (liftShowsPrec),+    Show2 (liftShowsPrec2),+  )+import "base" Text.Show+  ( Show (showList, showsPrec),+    ShowS,+    showParen,+    showString,+  )+#endif  data MapF k v r = TipF | BinF Map.Size k ~v r r   deriving stock     ( Eq,       Ord,       Generic,+      -- | @since 0.1.2.0+      Read,       Show,       Foldable,       Functor,@@ -57,51 +104,113 @@   embed TipF = Map.Tip   embed (BinF size k v l r) = Map.Bin size k v l r +eqMapF ::+  (k -> k' -> Bool) ->+  (v -> v' -> Bool) ->+  (r -> r' -> Bool) ->+  MapF k v r ->+  MapF k' v' r' ->+  Bool+eqMapF eqK eqV eqR = Tuple.curry $ \case+  (TipF, TipF) -> True+  (BinF size k v l r, BinF size' k' v' l' r') ->+    size == size' && eqK k k' && eqV v v' && eqR l l' && eqR r r'+  (_, _) -> False++compareMapF ::+  (k -> k' -> Ordering) ->+  (v -> v' -> Ordering) ->+  (r -> r' -> Ordering) ->+  MapF k v r ->+  MapF k' v' r' ->+  Ordering+compareMapF compareK compareV compareR = Tuple.curry $ \case+  (TipF, TipF) -> EQ+  (TipF, BinF {}) -> LT+  (BinF {}, TipF) -> GT+  (BinF size k v l r, BinF size' k' v' l' r') ->+    compare size size'+      <> compareK k k'+      <> compareV v v'+      <> compareR l l'+      <> compareR r r'++readMapFPrec :: ReadPrec k -> ReadPrec v -> ReadPrec r -> ReadPrec (MapF k v r)+readMapFPrec readPrecK readPrecV readPrecR =+  let appPrec = 10+   in parens . prec appPrec $+        TipF+          <$ expectP (Lex.Ident "TipF")+          <|> expectP (Lex.Ident "BinF")+            *> ( BinF+                   <$> step readPrec+                   <*> step readPrecK+                   <*> step readPrecV+                   <*> step readPrecR+                   <*> step readPrecR+               )++showsMapFPrec ::+  (Int -> k -> ShowS) ->+  (Int -> v -> ShowS) ->+  (Int -> r -> ShowS) ->+  Int ->+  MapF k v r ->+  ShowS+showsMapFPrec showsPrecK showsPrecV showsPrecR p =+  let appPrec = 10+      nextPrec = appPrec + 1+   in \case+        TipF -> showString "TipF"+        BinF size k v l r ->+          showParen (nextPrec <= p) $+            showString "BinF "+              . showsPrec nextPrec size+              . showString " "+              . showsPrecK nextPrec k+              . showString " "+              . showsPrecV nextPrec v+              . showString " "+              . showsPrecR nextPrec l+              . showString " "+              . showsPrecR nextPrec r++#if MIN_VERSION_base(4, 18, 0)+instance (Eq k, Eq v) => Eq1 (MapF k v)+#else instance (Eq k, Eq v) => Eq1 (MapF k v) where-  -- TODO: Remove this once base-4.18 is the oldest supported verson, as it’s-  --       the default impl.   liftEq = liftEq2 (==)+#endif  instance (Eq k) => Eq2 (MapF k) where-  liftEq2 f g = Tuple.curry $ \case-    (TipF, TipF) -> True-    (BinF size k v l r, BinF size' k' v' l' r') ->-      size == size' && k == k' && f v v' && g l l' && g r r'-    (_, _) -> False+  liftEq2 = eqMapF (==) +#if MIN_VERSION_base(4, 18, 0)+instance (Ord k, Ord v) => Ord1 (MapF k v)+#else instance (Ord k, Ord v) => Ord1 (MapF k v) where-  -- TODO: Remove this once base-4.18 is the oldest supported verson, as it’s-  --       the default impl.   liftCompare = liftCompare2 compare+#endif  instance (Ord k) => Ord2 (MapF k) where-  liftCompare2 f g = Tuple.curry $ \case-    (TipF, TipF) -> EQ-    (TipF, BinF {}) -> LT-    (BinF {}, TipF) -> GT-    (BinF size k v l r, BinF size' k' v' l' r') ->-      compare size size' <> compare k k' <> f v v' <> g l l' <> g r r'+  liftCompare2 = compareMapF compare +-- | @since 0.1.2.0+instance (Read k, Read v) => Read1 (MapF k v) where+  liftReadPrec = liftReadPrec2 readPrec readListPrec++-- | @since 0.1.2.0+instance (Read k) => Read2 (MapF k) where+  liftReadPrec2 readPrecV _ readPrecR _ =+    readMapFPrec readPrec readPrecV readPrecR++#if MIN_VERSION_base(4, 18, 0)+instance (Show k, Show v) => Show1 (MapF k v)+#else instance (Show k, Show v) => Show1 (MapF k v) where-  -- TODO: Remove this once base-4.18 is the oldest supported verson, as it’s-  --       the default impl.   liftShowsPrec = liftShowsPrec2 showsPrec showList+#endif  instance (Show k) => Show2 (MapF k) where-  liftShowsPrec2 showsPrecV _showListV showsPrecR _showListR prec =-    let appPrec = 10-        nextPrec = appPrec + 1-     in \case-          TipF -> showString "TipF"-          BinF size k v l r ->-            showParen (nextPrec <= prec) $-              showString "BinF "-                . showsPrec nextPrec size-                . showString " "-                . showsPrec nextPrec k-                . showString " "-                . showsPrecV nextPrec v-                . showString " "-                . showsPrecR nextPrec l-                . showString " "-                . showsPrecR nextPrec r+  liftShowsPrec2 showsPrecV _ showsPrecR _ =+    showsMapFPrec showsPrec showsPrecV showsPrecR
src/Yaya/Containers/Pattern/Set.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE Safe #-} {-# OPTIONS_GHC -Wno-orphans #-} @@ -6,26 +7,25 @@   ) where +import "base" Control.Applicative+  ( Alternative ((<|>)),+    Applicative ((<*>)),+    (*>),+  ) import "base" Control.Category (Category ((.))) import "base" Data.Bool (Bool (False, True), (&&)) import "base" Data.Eq (Eq ((==))) import "base" Data.Foldable (Foldable) import "base" Data.Function (($))-import "base" Data.Functor (Functor (fmap))-import "base" Data.Functor.Classes-  ( Eq1 (liftEq),-    Eq2 (liftEq2),-    Ord1 (liftCompare),-    Ord2 (liftCompare2),-    Show1 (liftShowsPrec),-    Show2 (liftShowsPrec2),-  )+import "base" Data.Functor (Functor (fmap), (<$), (<$>)) import "base" Data.Ord (Ord (compare, (<=)), Ordering (EQ, GT, LT)) import "base" Data.Semigroup ((<>)) import "base" Data.Traversable (Traversable) import qualified "base" Data.Tuple as Tuple import "base" GHC.Generics (Generic, Generic1)-import "base" Text.Show (Show (showList, showsPrec), showParen, showString)+import "base" GHC.Read (Read (readListPrec, readPrec), expectP, parens)+import "base" Text.ParserCombinators.ReadPrec (prec, step)+import qualified "base" Text.Read.Lex as Lex import qualified "containers" Data.Set.Internal as Set import "yaya" Yaya.Fold   ( Projectable (project),@@ -33,12 +33,39 @@     Steppable (embed),   ) import "base" Prelude (Num ((+)))+#if MIN_VERSION_base(4, 18, 0)+import "base" Data.Functor.Classes+  ( Eq1,+    Eq2 (liftEq2),+    Ord1,+    Ord2 (liftCompare2),+    Read1 (liftReadPrec),+    Read2 (liftReadPrec2),+    Show1,+    Show2 (liftShowsPrec2),+  )+import "base" Text.Show (Show (showsPrec), showParen, showString)+#else+import "base" Data.Functor.Classes+  ( Eq1 (liftEq),+    Eq2 (liftEq2),+    Ord1 (liftCompare),+    Ord2 (liftCompare2),+    Read1 (liftReadPrec),+    Read2 (liftReadPrec2),+    Show1 (liftShowsPrec),+    Show2 (liftShowsPrec2),+  )+import "base" Text.Show (Show (showList, showsPrec), showParen, showString)+#endif  data SetF a r = TipF | BinF Set.Size a r r   deriving stock     ( Eq,       Ord,       Generic,+      -- | @since 0.1.2.0+      Read,       Show,       Foldable,       Functor,@@ -57,10 +84,12 @@   embed TipF = Set.Tip   embed (BinF size a l r) = Set.Bin size a l r +#if MIN_VERSION_base(4, 18, 0)+instance (Eq a) => Eq1 (SetF a)+#else instance (Eq a) => Eq1 (SetF a) where-  -- TODO: Remove this once base-4.18 is the oldest supported verson, as it’s-  --       the default impl.   liftEq = liftEq2 (==)+#endif  instance Eq2 SetF where   liftEq2 f g = Tuple.curry $ \case@@ -69,10 +98,12 @@       size == size' && f a a' && g l l' && g r r'     (_, _) -> False +#if MIN_VERSION_base(4, 18, 0)+instance (Ord a) => Ord1 (SetF a)+#else instance (Ord a) => Ord1 (SetF a) where-  -- TODO: Remove this once base-4.18 is the oldest supported verson, as it’s-  --       the default impl.   liftCompare = liftCompare2 compare+#endif  instance Ord2 SetF where   liftCompare2 f g = Tuple.curry $ \case@@ -82,19 +113,40 @@     (BinF size a l r, BinF size' a' l' r') ->       compare size size' <> f a a' <> g l l' <> g r r' +-- | @since 0.1.2.0+instance (Read a) => Read1 (SetF a) where+  liftReadPrec = liftReadPrec2 readPrec readListPrec++-- | @since 0.1.2.0+instance Read2 SetF where+  liftReadPrec2 readPrecA _ readPrecR _ =+    let appPrec = 10+     in parens . prec appPrec $+          TipF+            <$ expectP (Lex.Ident "TipF")+            <|> expectP (Lex.Ident "BinF")+              *> ( BinF+                     <$> step readPrec+                     <*> step readPrecA+                     <*> step readPrecR+                     <*> step readPrecR+                 )++#if MIN_VERSION_base(4, 18, 0)+instance (Show a) => Show1 (SetF a)+#else instance (Show a) => Show1 (SetF a) where-  -- TODO: Remove this once base-4.18 is the oldest supported verson, as it’s-  --       the default impl.   liftShowsPrec = liftShowsPrec2 showsPrec showList+#endif  instance Show2 SetF where-  liftShowsPrec2 showsPrecA _showListA showsPrecR _showListR prec =+  liftShowsPrec2 showsPrecA _ showsPrecR _ p =     let appPrec = 10         nextPrec = appPrec + 1      in \case           TipF -> showString "TipF"           BinF size a l r ->-            showParen (nextPrec <= prec) $+            showParen (nextPrec <= p) $               showString "BinF "                 . showsPrec nextPrec size                 . showString " "
yaya-containers.cabal view
@@ -1,7 +1,7 @@ cabal-version:  3.0  name:        yaya-containers-version:     0.1.1.0+version:     0.1.2.0 synopsis:    Pattern functors and instances for types in the containers package. author:      Greg Pfeil <greg@technomadic.org> maintainer:  Greg Pfeil <greg@technomadic.org>@@ -152,7 +152,7 @@     Yaya.Containers.Pattern.Set   build-depends:     containers ^>= {0.6.0},-    yaya ^>= {0.6.0},+    yaya ^>= {0.5.1, 0.6.0},   ghc-options:     -trust adjunctions     -trust array