on develop help sign in
Fix and simplify CPP for `DecidablyEmpty` instances
commit44c2cca351246133ff8c00caad6bdf08141f2fa4 authorJohn Ericson <John.Ericson@Obsidian.Systems> dateWed 22 Jan 2020, 18:28 (7 years ago) parentef51a75
1 file changed+7−8
src/Data/Monoid/DecidablyEmpty.hs+7−8
src/Data/Monoid/DecidablyEmpty.hs+7−8
@@ -48,9 +48,6 @@ instance DecidablyEmpty [a] where
4848 isEmpty = null
4949instance Semigroup a => DecidablyEmpty (Maybe a) where
5050 isEmpty = isNothing
51−#if MIN_VERSION_base(4,11,0)
52−deriving instance DecidablyEmpty a => DecidablyEmpty (Down a)
53−#endif
5451deriving instance (Num a, DecidablyEmpty a) => DecidablyEmpty (Product a)
5552deriving instance (DecidablyEmpty a, Num a) => DecidablyEmpty (Sum a)
5653deriving instance DecidablyEmpty a => DecidablyEmpty (Dual a)
@@ -61,17 +58,19 @@ deriving instance Semigroup a => DecidablyEmpty (Option a)
6158deriving instance DecidablyEmpty m => DecidablyEmpty (WrappedMonoid m)
6259instance (Ord a, Bounded a) => DecidablyEmpty (Max a)
6360instance (Ord a, Bounded a) => DecidablyEmpty (Min a)
64−instance DecidablyEmpty (U1 p)
6561instance DecidablyEmpty (Proxy s)
62+deriving instance DecidablyEmpty a => DecidablyEmpty (Const a b)
63+#if MIN_VERSION_base(4,11,0)
64+deriving instance DecidablyEmpty a => DecidablyEmpty (Down a)
65+#endif
6666#if MIN_VERSION_base(4,12,0)
67+deriving instance DecidablyEmpty p => DecidablyEmpty (Par1 p)
68+instance DecidablyEmpty (U1 p)
6769deriving instance DecidablyEmpty (f p) => DecidablyEmpty (Rec1 f p)
68−#endif
69−deriving instance DecidablyEmpty a => DecidablyEmpty (Const a b)
70+deriving instance DecidablyEmpty (f p) => DecidablyEmpty (M1 i c f p)
7071deriving instance DecidablyEmpty c => DecidablyEmpty (K1 i c p)
7172instance (DecidablyEmpty (f p), DecidablyEmpty (g p)) => DecidablyEmpty ((f :*: g) p) where
7273 isEmpty (x :*: y) = isEmpty x && isEmpty y
73−#if MIN_VERSION_base(4,12,0)
74−deriving instance DecidablyEmpty (f p) => DecidablyEmpty (M1 i c f p)
7574deriving instance DecidablyEmpty (f (g p)) => DecidablyEmpty ((f :.: g) p)
7675#endif
7776