Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-base-orphans for
openSUSE:Factory checked in at 2026-06-10 15:57:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-base-orphans (Old)
and /work/SRC/openSUSE:Factory/.ghc-base-orphans.new.2375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-base-orphans"
Wed Jun 10 15:57:53 2026 rev:28 rq:1358331 version:0.9.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-base-orphans/ghc-base-orphans.changes
2024-12-20 23:10:18.483701404 +0100
+++
/work/SRC/openSUSE:Factory/.ghc-base-orphans.new.2375/ghc-base-orphans.changes
2026-06-10 15:58:22.521702312 +0200
@@ -1,0 +2,7 @@
+Sat Jan 10 15:53:26 UTC 2026 - Peter Simons <[email protected]>
+
+- Update base-orphans to version 0.9.4.
+ ## Changes in 0.9.4 [2026.01.10]
+ - Allow building with MicroHs.
+
+-------------------------------------------------------------------
Old:
----
base-orphans-0.9.3.tar.gz
New:
----
base-orphans-0.9.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-base-orphans.spec ++++++
--- /var/tmp/diff_new_pack.HXkJy6/_old 2026-06-10 15:58:24.625789504 +0200
+++ /var/tmp/diff_new_pack.HXkJy6/_new 2026-06-10 15:58:24.641790167 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-base-orphans
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2026 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.9.3
+Version: 0.9.4
Release: 0
Summary: Backwards-compatible orphan instances for base
License: MIT
++++++ base-orphans-0.9.3.tar.gz -> base-orphans-0.9.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/base-orphans-0.9.3/CHANGES.markdown
new/base-orphans-0.9.4/CHANGES.markdown
--- old/base-orphans-0.9.3/CHANGES.markdown 2001-09-09 03:46:40.000000000
+0200
+++ new/base-orphans-0.9.4/CHANGES.markdown 2001-09-09 03:46:40.000000000
+0200
@@ -1,3 +1,6 @@
+## Changes in 0.9.4 [2026.01.10]
+ - Allow building with MicroHs.
+
## Changes in 0.9.3 [2024.12.06]
- Backport new instances from GHC 9.12/`base-4.21`:
* `MonadFix` instance for `(,) a`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/base-orphans-0.9.3/base-orphans.cabal
new/base-orphans-0.9.4/base-orphans.cabal
--- old/base-orphans-0.9.3/base-orphans.cabal 2001-09-09 03:46:40.000000000
+0200
+++ new/base-orphans-0.9.4/base-orphans.cabal 2001-09-09 03:46:40.000000000
+0200
@@ -1,13 +1,13 @@
cabal-version: 1.12
--- This file has been generated from package.yaml by hpack version 0.37.0.
+-- This file has been generated from package.yaml by hpack version 0.39.1.
--
-- see: https://github.com/sol/hpack
--
--- hash: 6458bdc7f3a546586fe9f53d2b25831f0ffd55408907fb98a9b8a5cf1a0f64e3
+-- hash: 459819c97f970a9f10f930c19a33ad7c14c34c1056852f4b0c57fa8e8487e8ca
name: base-orphans
-version: 0.9.3
+version: 0.9.4
synopsis: Backwards-compatible orphan instances for base
description: @base-orphans@ defines orphan instances that mimic
instances available in
later versions of @base@ to a wider (older) range of
compilers.
@@ -36,7 +36,7 @@
license-file: LICENSE
build-type: Simple
tested-with:
- GHC == 8.0.2 , GHC == 8.2.2 , GHC == 8.4.4 , GHC == 8.6.5 , GHC == 8.8.4 ,
GHC == 8.10.7 , GHC == 9.0.2 , GHC == 9.2.8 , GHC == 9.4.8 , GHC == 9.6.6 , GHC
== 9.8.2 , GHC == 9.10.1 , GHC == 9.12.1
+ GHC == 8.0.2 , GHC == 8.2.2 , GHC == 8.4.4 , GHC == 8.6.5 , GHC == 8.8.4 ,
GHC == 8.10.7 , GHC == 9.0.2 , GHC == 9.2.8 , GHC == 9.4.8 , GHC == 9.6.7 , GHC
== 9.8.4 , GHC == 9.10.3 , GHC == 9.12.2 , GHC == 9.14.1
extra-source-files:
CHANGES.markdown
README.markdown
@@ -51,12 +51,14 @@
ghc-options: -Wall
build-depends:
base >=4.9 && <5
- , ghc-prim
exposed-modules:
Data.Orphans
other-modules:
Data.Orphans.Prelude
default-language: Haskell2010
+ if impl(ghc >= 9.0) && !impl(ghc >= 9.2)
+ build-depends:
+ ghc-prim
test-suite spec
type: exitcode-stdio-1.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/base-orphans-0.9.3/src/Data/Orphans/Prelude.hs
new/base-orphans-0.9.4/src/Data/Orphans/Prelude.hs
--- old/base-orphans-0.9.3/src/Data/Orphans/Prelude.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/base-orphans-0.9.4/src/Data/Orphans/Prelude.hs 2001-09-09
03:46:40.000000000 +0200
@@ -18,7 +18,7 @@
Note that this module does not export any modules that could introduce name
clashes.
-}
module Data.Orphans.Prelude
-#if MIN_VERSION_base(4,21,0)
+#if !defined(__GLASGOW_HASKELL__) || MIN_VERSION_base(4,21,0)
() where
#else
( module OrphansPrelude
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/base-orphans-0.9.3/src/Data/Orphans.hs
new/base-orphans-0.9.4/src/Data/Orphans.hs
--- old/base-orphans-0.9.3/src/Data/Orphans.hs 2001-09-09 03:46:40.000000000
+0200
+++ new/base-orphans-0.9.4/src/Data/Orphans.hs 2001-09-09 03:46:40.000000000
+0200
@@ -29,45 +29,46 @@
-}
module Data.Orphans () where
-#if !(MIN_VERSION_base(4,11,0))
+#ifdef __GLASGOW_HASKELL__
+# if !(MIN_VERSION_base(4,11,0))
import qualified Control.Monad.Fail as Fail (MonadFail(..))
-#endif
+# endif
-#if !(MIN_VERSION_base(4,16,0))
+# if !(MIN_VERSION_base(4,16,0))
import qualified Data.Functor.Product as Functor
-#endif
+# endif
-#if !(MIN_VERSION_base(4,10,0))
+# if !(MIN_VERSION_base(4,10,0))
import Data.Data as Data
-#endif
+# endif
-#if !(MIN_VERSION_base(4,11,0))
+# if !(MIN_VERSION_base(4,11,0))
import Control.Monad.ST as Strict
-#endif
+# endif
-#if MIN_VERSION_base(4,11,0) && !(MIN_VERSION_base(4,21,0))
+# if MIN_VERSION_base(4,11,0) && !(MIN_VERSION_base(4,21,0))
import GHC.Read (readField)
-#endif
+# endif
-#if !(MIN_VERSION_base(4,12,0))
+# if !(MIN_VERSION_base(4,12,0))
import qualified Data.Foldable as F (Foldable(..))
import qualified Data.Traversable as T (Traversable(..))
-#endif
+# endif
-#if MIN_VERSION_base(4,15,0) && !(MIN_VERSION_base(4,16,0))
+# if MIN_VERSION_base(4,15,0) && !(MIN_VERSION_base(4,16,0))
import GHC.Tuple (Solo(..))
-#endif
+# endif
-#if !(MIN_VERSION_base(4,21,0))
+# if !(MIN_VERSION_base(4,21,0))
import Data.Orphans.Prelude
import GHC.Generics as Generics hiding (prec)
-#endif
+# endif
#include "HsBaseConfig.h"
-------------------------------------------------------------------------------
-#if !(MIN_VERSION_base(4,10,0))
+# if !(MIN_VERSION_base(4,10,0))
deriving instance (Typeable k, Data a, Typeable (b :: k)) => Data (Const a b)
instance Eq1 NonEmpty where
@@ -90,7 +91,7 @@
instance Semigroup a => Semigroup (IO a) where
(<>) = liftA2 (<>)
-# if !defined(mingw32_HOST_OS) && !defined(ghcjs_HOST_OS)
+# if !defined(mingw32_HOST_OS) && !defined(ghcjs_HOST_OS)
instance Semigroup Event where
(<>) = mappend
stimes = stimesMonoid
@@ -98,10 +99,10 @@
instance Semigroup Lifetime where
(<>) = mappend
stimes = stimesMonoid
+# endif
# endif
-#endif
-#if !(MIN_VERSION_base(4,11,0))
+# if !(MIN_VERSION_base(4,11,0))
instance Alternative ZipList where
empty = ZipList []
ZipList xs <|> ZipList ys = ZipList (xs ++ drop (length xs) ys)
@@ -132,10 +133,10 @@
instance Semigroup a => Semigroup (Strict.ST s a) where
(<>) = liftA2 (<>)
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
deriving instance Data IntPtr
deriving instance Data WordPtr
-# else
+# else
-- The constructors for IntPtr and WordPtr aren't exposed on older versions
-- of base, so we're forced to hand-roll the Data instances here
instance Data IntPtr where
@@ -173,10 +174,10 @@
cWordPtr :: Constr
cWordPtr = mkConstr tWordPtr "WordPtr" [] Data.Prefix
+# endif
# endif
-#endif
-#if !(MIN_VERSION_base(4,12,0))
+# if !(MIN_VERSION_base(4,12,0))
instance MonadFix Down where
mfix f = Down (fix (getDown . f))
where getDown (Down x) = x
@@ -201,24 +202,24 @@
instance Monoid c => Applicative (K1 i c) where
pure _ = K1 mempty
(<*>) = coerce (mappend :: c -> c -> c)
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftA2 = \_ -> coerce (mappend :: c -> c -> c)
-# endif
+# endif
instance Monoid (U1 p) where
mempty = U1
-# if !(MIN_VERSION_base(4,11,0))
+# if !(MIN_VERSION_base(4,11,0))
_ `mappend` _ = U1
-# endif
+# endif
deriving instance Monoid p => Monoid (Par1 p)
deriving instance Monoid (f p) => Monoid (Rec1 f p)
deriving instance Monoid c => Monoid (K1 i c p)
deriving instance Monoid (f p) => Monoid (M1 i c f p)
instance (Monoid (f p), Monoid (g p)) => Monoid ((f :*: g) p) where
mempty = mempty :*: mempty
-# if !(MIN_VERSION_base(4,11,0))
+# if !(MIN_VERSION_base(4,11,0))
(x1 :*: y1) `mappend` (x2 :*: y2) = (x1 `mappend` x2) :*: (y1 `mappend` y2)
-# endif
+# endif
deriving instance Monoid (f (g p)) => Monoid ((f :.: g) p)
instance Semigroup (V1 p) where
@@ -235,9 +236,9 @@
deriving instance Foldable f => Foldable (Alt f)
deriving instance Traversable f => Traversable (Alt f)
-#endif
+# endif
-#if !(MIN_VERSION_base(4,14,0))
+# if !(MIN_VERSION_base(4,14,0))
instance Functor ((,,) a b) where
fmap f (a, b, c) = (a, b, f c)
@@ -324,9 +325,9 @@
case testEquality x y of -- :: Maybe (g x :~: g y)
Just Refl -> Just Refl -- :: Maybe (x :~: y)
Nothing -> Nothing
-#endif
+# endif
-#if !(MIN_VERSION_base(4,15,0))
+# if !(MIN_VERSION_base(4,15,0))
instance (Ix a1, Ix a2, Ix a3, Ix a4, Ix a5, Ix a6) =>
Ix (a1,a2,a3,a4,a5,a6) where
range ((l1,l2,l3,l4,l5,l6),(u1,u2,u3,u4,u5,u6)) =
@@ -737,14 +738,14 @@
instance MonadFix Complex where
mfix f = (let a :+ _ = f a in a) :+ (let _ :+ a = f a in a)
-#endif
+# endif
-#if !(MIN_VERSION_base(4,16,0))
+# if !(MIN_VERSION_base(4,16,0))
instance Eq1 Complex where
liftEq eq (x :+ y) (u :+ v) = eq x u && eq y v
instance Read1 Complex where
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadPrec rp _ = parens $ prec complexPrec $ do
x <- step rp
expectP (Symbol ":+")
@@ -755,7 +756,7 @@
liftReadListPrec = liftReadListPrecDefault
liftReadList = liftReadListDefault
-# else
+# else
liftReadsPrec rdP _ p s = readParen (p > complexPrec) (\s' -> do
(x, s'') <- rdP (complexPrec+1) s'
(":+", s''') <- lex s''
@@ -763,7 +764,7 @@
return (x :+ y, s'''')) s
where
complexPrec = 6
-# endif
+# endif
instance Show1 Complex where
liftShowsPrec sp _ d (x :+ y) = showParen (d > complexPrec) $
@@ -782,7 +783,7 @@
comp1 x1 x2 `mappend` comp2 y1 y2
instance Read a => Read2 ((,,) a) where
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadPrec2 rp1 _ rp2 _ = parens $ paren $ do
x1 <- readPrec
expectP (Punc ",")
@@ -793,7 +794,7 @@
liftReadListPrec2 = liftReadListPrec2Default
liftReadList2 = liftReadList2Default
-# else
+# else
liftReadsPrec2 rp1 _ rp2 _ _ = readParen False $ \ r ->
[((e1,e2,e3), y) | ("(",s) <- lex r,
(e1,t) <- readsPrec 0 s,
@@ -802,7 +803,7 @@
(",",w) <- lex v,
(e3,x) <- rp2 0 w,
(")",y) <- lex x]
-# endif
+# endif
instance Show a => Show2 ((,,) a) where
liftShowsPrec2 sp1 _ sp2 _ _ (x1,y1,y2)
@@ -818,14 +819,14 @@
liftCompare = liftCompare2 compare
instance (Read a, Read b) => Read1 ((,,) a b) where
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadPrec = liftReadPrec2 readPrec readListPrec
liftReadListPrec = liftReadListPrecDefault
liftReadList = liftReadListDefault
-# else
+# else
liftReadsPrec = liftReadsPrec2 readsPrec readList
-# endif
+# endif
instance (Show a, Show b) => Show1 ((,,) a b) where
liftShowsPrec = liftShowsPrec2 showsPrec showList
@@ -843,7 +844,7 @@
comp1 x1 x2 `mappend` comp2 y1 y2
instance (Read a, Read b) => Read2 ((,,,) a b) where
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadPrec2 rp1 _ rp2 _ = parens $ paren $ do
x1 <- readPrec
expectP (Punc ",")
@@ -856,7 +857,7 @@
liftReadListPrec2 = liftReadListPrec2Default
liftReadList2 = liftReadList2Default
-# else
+# else
liftReadsPrec2 rp1 _ rp2 _ _ = readParen False $ \ r ->
[((e1,e2,e3,e4), s9) | ("(",s1) <- lex r,
(e1,s2) <- readsPrec 0 s1,
@@ -867,7 +868,7 @@
(",",s7) <- lex s6,
(e4,s8) <- rp2 0 s7,
(")",s9) <- lex s8]
-# endif
+# endif
instance (Show a, Show b) => Show2 ((,,,) a b) where
liftShowsPrec2 sp1 _ sp2 _ _ (x1,x2,y1,y2)
@@ -884,14 +885,14 @@
liftCompare = liftCompare2 compare
instance (Read a, Read b, Read c) => Read1 ((,,,) a b c) where
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadPrec = liftReadPrec2 readPrec readListPrec
liftReadListPrec = liftReadListPrecDefault
liftReadList = liftReadListDefault
-# else
+# else
liftReadsPrec = liftReadsPrec2 readsPrec readList
-# endif
+# endif
instance (Show a, Show b, Show c) => Show1 ((,,,) a b c) where
liftShowsPrec = liftShowsPrec2 showsPrec showList
@@ -904,11 +905,11 @@
instance (Monoid (f a), Monoid (g a)) => Monoid (Functor.Product f g a) where
mempty = Functor.Pair mempty mempty
-# if !(MIN_VERSION_base(4,11,0))
+# if !(MIN_VERSION_base(4,11,0))
Functor.Pair x1 y1 `mappend` Functor.Pair x2 y2 = Functor.Pair (x1
`mappend` x2) (y1 `mappend` y2)
-# endif
+# endif
-# if MIN_VERSION_base(4,15,0)
+# if MIN_VERSION_base(4,15,0)
instance Enum a => Enum (Solo a) where
succ (Solo a) = Solo (succ a)
pred (Solo a) = Solo (pred a)
@@ -944,10 +945,10 @@
inRange (l, u) i
-- Default method for index
+# endif
# endif
-#endif
-#if !(MIN_VERSION_base(4,16,1))
+# if !(MIN_VERSION_base(4,16,1))
deriving instance Ix CChar
deriving instance Ix CSChar
deriving instance Ix CUChar
@@ -967,92 +968,92 @@
deriving instance Ix CUIntPtr
deriving instance Ix CIntMax
deriving instance Ix CUIntMax
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
deriving instance Ix CBool
-# endif
+# endif
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
-- These are guarded on base-4.10.0 because that was the first version which
-- exported their constructors, which is necessary to use
-- GeneralizedNewtypeDeriving. See
-- https://gitlab.haskell.org/ghc/ghc/-/issues/11983.
deriving instance Ix WordPtr
deriving instance Ix IntPtr
-# endif
+# endif
-# if defined(HTYPE_DEV_T)
+# if defined(HTYPE_DEV_T)
deriving instance Ix CDev
-# endif
-# if defined(HTYPE_INO_T)
+# endif
+# if defined(HTYPE_INO_T)
deriving instance Ix CIno
-# endif
-# if defined(HTYPE_MODE_T)
+# endif
+# if defined(HTYPE_MODE_T)
deriving instance Ix CMode
-# endif
-# if defined(HTYPE_OFF_T)
+# endif
+# if defined(HTYPE_OFF_T)
deriving instance Ix COff
-# endif
-# if defined(HTYPE_PID_T)
+# endif
+# if defined(HTYPE_PID_T)
deriving instance Ix CPid
-# endif
-# if defined(HTYPE_SSIZE_T)
+# endif
+# if defined(HTYPE_SSIZE_T)
deriving instance Ix CSsize
-# endif
-# if defined(HTYPE_GID_T)
+# endif
+# if defined(HTYPE_GID_T)
deriving instance Ix CGid
-# endif
-# if defined(HTYPE_NLINK_T)
+# endif
+# if defined(HTYPE_NLINK_T)
deriving instance Ix CNlink
-# endif
-# if defined(HTYPE_UID_T)
+# endif
+# if defined(HTYPE_UID_T)
deriving instance Ix CUid
-# endif
-# if defined(HTYPE_CC_T)
+# endif
+# if defined(HTYPE_CC_T)
deriving instance Ix CCc
-# endif
-# if defined(HTYPE_SPEED_T)
+# endif
+# if defined(HTYPE_SPEED_T)
deriving instance Ix CSpeed
-# endif
-# if defined(HTYPE_TCFLAG_T)
+# endif
+# if defined(HTYPE_TCFLAG_T)
deriving instance Ix CTcflag
-# endif
-# if defined(HTYPE_RLIM_T)
+# endif
+# if defined(HTYPE_RLIM_T)
deriving instance Ix CRLim
-# endif
+# endif
deriving instance Ix Fd
-# if MIN_VERSION_base(4,10,0)
-# if defined(HTYPE_BLKSIZE_T)
+# if MIN_VERSION_base(4,10,0)
+# if defined(HTYPE_BLKSIZE_T)
deriving instance Ix CBlkSize
-# endif
-# if defined(HTYPE_BLKCNT_T)
+# endif
+# if defined(HTYPE_BLKCNT_T)
deriving instance Ix CBlkCnt
-# endif
-# if defined(HTYPE_CLOCKID_T)
+# endif
+# if defined(HTYPE_CLOCKID_T)
deriving instance Ix CClockId
-# endif
-# if defined(HTYPE_FSBLKCNT_T)
+# endif
+# if defined(HTYPE_FSBLKCNT_T)
deriving instance Ix CFsBlkCnt
-# endif
-# if defined(HTYPE_FSFILCNT_T)
+# endif
+# if defined(HTYPE_FSFILCNT_T)
deriving instance Ix CFsFilCnt
-# endif
-# if defined(HTYPE_ID_T)
+# endif
+# if defined(HTYPE_ID_T)
deriving instance Ix CId
-# endif
-# if defined(HTYPE_KEY_T)
+# endif
+# if defined(HTYPE_KEY_T)
deriving instance Ix CKey
-# endif
-# if defined(HTYPE_SOCKLEN_T)
+# endif
+# if defined(HTYPE_SOCKLEN_T)
deriving instance Ix CSocklen
-# endif
-# if defined(HTYPE_NFDS_T)
+# endif
+# if defined(HTYPE_NFDS_T)
deriving instance Ix CNfds
+# endif
# endif
# endif
-#endif
-#if !(MIN_VERSION_base(4,18,0))
+# if !(MIN_VERSION_base(4,18,0))
instance Functor ((,,,,) a b c d) where
fmap f (a, b, c, d, e) = (a, b, c, d, f e)
instance Functor ((,,,,,) a b c d e) where
@@ -1060,7 +1061,7 @@
instance Functor ((,,,,,,) a b c d e f) where
fmap fun (a, b, c, d, e, f, g) = (a, b, c, d, e, f, fun g)
-# if !(MIN_VERSION_base(4,14,0)) || MIN_VERSION_base(4,15,0)
+# if !(MIN_VERSION_base(4,14,0)) || MIN_VERSION_base(4,15,0)
-- | Swaps @'succ'@ and @'pred'@ of the underlying type.
instance (Enum a, Bounded a, Eq a) => Enum (Down a) where
succ = fmap pred
@@ -1078,19 +1079,19 @@
| otherwise
= coerce $ enumFromThen x (pred x)
enumFromThen (Down x) (Down y) = coerce $ enumFromThen x y
-# endif
+# endif
-# if MIN_VERSION_base(4,17,0)
+# if MIN_VERSION_base(4,17,0)
instance (Generic1 f, Eq (Rep1 f a)) => Eq (Generically1 f a) where
Generically1 x == Generically1 y = from1 x == from1 y
Generically1 x /= Generically1 y = from1 x /= from1 y
instance (Generic1 f, Ord (Rep1 f a)) => Ord (Generically1 f a) where
Generically1 x `compare` Generically1 y = from1 x `compare` from1 y
+# endif
# endif
-#endif
-#if !(MIN_VERSION_base(4,19,0))
+# if !(MIN_VERSION_base(4,19,0))
deriving instance Enum (f (g a)) => Enum (Compose f g a)
deriving instance Bounded (f (g a)) => Bounded (Compose f g a)
deriving instance Num (f (g a)) => Num (Compose f g a)
@@ -1106,15 +1107,15 @@
-- This makes deriving Real and Integral instances slightly more complicated
for
-- these older versions of base, as there are no Real1 or Integral1 classes. We
-- opt for making the instance contexts more complicated instead.
-# if MIN_VERSION_base(4,18,0)
+# if MIN_VERSION_base(4,18,0)
deriving instance Real (f (g a)) => Real (Compose f g a)
deriving instance Integral (f (g a)) => Integral (Compose f g a)
-# else
+# else
deriving instance (Real (f (g a)), Ord1 f, Ord1 g, Ord a) => Real (Compose f g
a)
deriving instance (Integral (f (g a)), Ord1 f, Ord1 g, Ord a) => Integral
(Compose f g a)
-# endif
+# endif
-# if MIN_VERSION_base(4,18,0)
+# if MIN_VERSION_base(4,18,0)
instance Eq (SChar c) where
_ == _ = True
instance Ord (SChar c) where
@@ -1129,10 +1130,10 @@
_ == _ = True
instance Ord (SSymbol s) where
compare _ _ = EQ
+# endif
# endif
-#endif
-#if !(MIN_VERSION_base(4,20,0))
+# if !(MIN_VERSION_base(4,20,0))
deriving instance Fractional (f (g a)) => Fractional (Compose f g a)
deriving instance Floating (f (g a)) => Floating (Compose f g a)
@@ -1140,16 +1141,16 @@
-- above (near the Real/Integral instances for Compose), these
-- RealFrace/RealFloat instances are slightly more complicated for older
-- versions of base.
-# if MIN_VERSION_base(4,18,0)
+# if MIN_VERSION_base(4,18,0)
deriving instance RealFrac (f (g a)) => RealFrac (Compose f g a)
deriving instance RealFloat (f (g a)) => RealFloat (Compose f g a)
-# else
+# else
deriving instance (RealFrac (f (g a)), Ord1 f, Ord1 g, Ord a) => RealFrac
(Compose f g a)
deriving instance (RealFloat (f (g a)), Ord1 f, Ord1 g, Ord a) => RealFloat
(Compose f g a)
+# endif
# endif
-#endif
-#if !(MIN_VERSION_base(4,21,0))
+# if !(MIN_VERSION_base(4,21,0))
instance Monoid a => MonadFix ((,) a) where
-- See the CLC proposal thread for discussion and proofs of the laws:
https://github.com/haskell/core-libraries-committee/issues/238
mfix f = let a = f (snd a) in a
@@ -1166,10 +1167,10 @@
instance Read1 V1 where
liftReadsPrec _ _ = readPrec_to_S pfail
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadListPrec = liftReadListPrecDefault
liftReadList = liftReadListDefault
-# endif
+# endif
instance Eq1 U1 where
liftEq _ = \_ _ -> True
@@ -1181,17 +1182,17 @@
liftShowsPrec _ _ _ = \U1 -> showString "U1"
instance Read1 U1 where
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadPrec _ _ =
parens (expectP (Ident "U1") *> pure U1)
liftReadListPrec = liftReadListPrecDefault
liftReadList = liftReadListDefault
-# else
+# else
liftReadsPrec _ _ =
readPrec_to_S $
parens (expectP (Ident "U1") *> pure U1)
-# endif
+# endif
instance Eq1 Par1 where
liftEq eq = \(Par1 a) (Par1 a') -> eq a a'
@@ -1204,17 +1205,17 @@
showsSingleFieldRecordWith sp "Par1" "unPar1" d a
instance Read1 Par1 where
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadPrec rp _ =
readSingleFieldRecordWith rp "Par1" "unPar1" Par1
liftReadListPrec = liftReadListPrecDefault
liftReadList = liftReadListDefault
-# else
+# else
liftReadsPrec rp _ =
readPrec_to_S $
readSingleFieldRecordWith (readS_to_Prec rp) "Par1" "unPar1" Par1
-# endif
+# endif
instance Eq1 f => Eq1 (Rec1 f) where
liftEq eq = \(Rec1 a) (Rec1 a') -> liftEq eq a a'
@@ -1227,13 +1228,13 @@
showsSingleFieldRecordWith (liftShowsPrec sp sl) "Rec1" "unRec1" d a
instance Read1 f => Read1 (Rec1 f) where
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadPrec rp rl =
readSingleFieldRecordWith (liftReadPrec rp rl) "Rec1" "unRec1" Rec1
liftReadListPrec = liftReadListPrecDefault
liftReadList = liftReadListDefault
-# else
+# else
liftReadsPrec rp rl =
readPrec_to_S $
readSingleFieldRecordWith
@@ -1241,7 +1242,7 @@
"Rec1"
"unRec1"
Rec1
-# endif
+# endif
instance Eq c => Eq1 (K1 i c) where
liftEq _ = \(K1 a) (K1 a') -> a == a'
@@ -1254,18 +1255,18 @@
showsSingleFieldRecordWith showsPrec "K1" "unK1" d a
instance Read c => Read1 (K1 i c) where
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadPrec _ _ = readData $
readSingleFieldRecordWith readPrec "K1" "unK1" K1
liftReadListPrec = liftReadListPrecDefault
liftReadList = liftReadListDefault
-# else
+# else
liftReadsPrec _ _ =
readPrec_to_S $
readData $
readSingleFieldRecordWith readPrec "K1" "unK1" K1
-# endif
+# endif
instance Eq1 f => Eq1 (M1 i c f) where
liftEq eq = \(M1 a) (M1 a') -> liftEq eq a a'
@@ -1278,13 +1279,13 @@
showsSingleFieldRecordWith (liftShowsPrec sp sl) "M1" "unM1" d a
instance Read1 f => Read1 (M1 i c f) where
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadPrec rp rl = readData $
readSingleFieldRecordWith (liftReadPrec rp rl) "M1" "unM1" M1
liftReadListPrec = liftReadListPrecDefault
liftReadList = liftReadListDefault
-# else
+# else
liftReadsPrec rp rl =
readPrec_to_S $
readData $
@@ -1293,7 +1294,7 @@
"M1"
"unM1"
M1
-# endif
+# endif
instance (Eq1 f, Eq1 g) => Eq1 (f :+: g) where
liftEq eq = \lhs rhs -> case (lhs, rhs) of
@@ -1314,20 +1315,20 @@
R1 b -> showsUnaryWith (liftShowsPrec sp sl) "R1" d b
instance (Read1 f, Read1 g) => Read1 (f :+: g) where
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadPrec rp rl = readData $
readUnaryWith (liftReadPrec rp rl) "L1" L1 <|>
readUnaryWith (liftReadPrec rp rl) "R1" R1
liftReadListPrec = liftReadListPrecDefault
liftReadList = liftReadListDefault
-# else
+# else
liftReadsPrec rp rl =
readPrec_to_S $
readData $
readUnaryWith (readS_to_Prec (liftReadsPrec rp rl)) "L1" L1 <|>
readUnaryWith (readS_to_Prec (liftReadsPrec rp rl)) "R1" R1
-# endif
+# endif
instance (Eq1 f, Eq1 g) => Eq1 (f :*: g) where
liftEq eq = \(f :*: g) (f' :*: g') -> liftEq eq f f' && liftEq eq g g'
@@ -1347,13 +1348,13 @@
b
instance (Read1 f, Read1 g) => Read1 (f :*: g) where
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadPrec rp rl = parens $ prec 6 $
readBinaryOpWith (liftReadPrec rp rl) (liftReadPrec rp rl) ":*:" (:*:)
liftReadListPrec = liftReadListPrecDefault
liftReadList = liftReadListDefault
-# else
+# else
liftReadsPrec rp rl =
readPrec_to_S $
parens $ prec 6 $
@@ -1362,7 +1363,7 @@
(readS_to_Prec (liftReadsPrec rp rl))
":*:"
(:*:)
-# endif
+# endif
instance (Eq1 f, Eq1 g) => Eq1 (f :.: g) where
liftEq eq = \(Comp1 a) (Comp1 a') -> liftEq (liftEq eq) a a'
@@ -1380,7 +1381,7 @@
a
instance (Read1 f, Read1 g) => Read1 (f :.: g) where
-# if MIN_VERSION_base(4,10,0)
+# if MIN_VERSION_base(4,10,0)
liftReadPrec rp rl = readData $
readSingleFieldRecordWith
(liftReadPrec (liftReadPrec rp rl) (liftReadListPrec rp rl))
@@ -1390,7 +1391,7 @@
liftReadListPrec = liftReadListPrecDefault
liftReadList = liftReadListDefault
-# else
+# else
liftReadsPrec rp rl =
readPrec_to_S $
readData $
@@ -1399,7 +1400,7 @@
"Comp1"
"unComp1"
Comp1
-# endif
+# endif
instance Eq1 UAddr where
-- NB cannot use eqAddr# because its module isn't safe
@@ -1475,7 +1476,7 @@
readBinaryOpWith rp1 rp2 name cons =
cons <$> step rp1 <* expectP (Symbol name) <*> step rp2
-# if !(MIN_VERSION_base(4,10,0))
+# if !(MIN_VERSION_base(4,10,0))
readData :: ReadPrec a -> ReadPrec a
readData reader = parens $ prec 10 reader
@@ -1484,16 +1485,16 @@
expectP $ Ident name
x <- step rp
return $ cons x
-# endif
+# endif
-# if !(MIN_VERSION_base(4,11,0))
+# if !(MIN_VERSION_base(4,11,0))
readField :: String -> ReadPrec a -> ReadPrec a
readField fieldName readVal = do
expectP (Ident fieldName)
expectP (Punc "=")
readVal
{-# NOINLINE readField #-}
-# endif
+# endif
showsSingleFieldRecordWith :: (Int -> a -> ShowS) -> String -> String -> Int
-> a -> ShowS
showsSingleFieldRecordWith sp name field d x =
@@ -1518,4 +1519,5 @@
showsPrec d (UAddr x) =
showParen (d > appPrec)
(\y -> showString "UAddr {uAddr# = " (showsPrec 0 (Ptr x) (showChar '}'
y)))
+# endif
#endif