serialise-0.2.6.1: bench/versus/Macro/DeepSeq.hs
{-# LANGUAGE CPP #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
module Macro.DeepSeq where
import Macro.Types
import Control.DeepSeq
#if MIN_VERSION_deepseq(1,4,3)
hiding (rnf1, rnf2)
#endif
rnf0 :: ()
rnf1 :: NFData a => a -> ()
rnf2 :: (NFData a, NFData a1) => a -> a1 -> ()
rnf3 :: (NFData a, NFData a1, NFData a2) =>
a -> a1 -> a2 -> ()
rnf4 :: (NFData a, NFData a1, NFData a2, NFData a3) =>
a -> a1 -> a2 -> a3 -> ()
rnf5 :: (NFData a, NFData a1, NFData a2, NFData a3, NFData a4) =>
a -> a1 -> a2 -> a3 -> a4 -> ()
rnf6 :: (NFData a, NFData a1, NFData a2, NFData a3, NFData a4,
NFData a5) =>
a -> a1 -> a2 -> a3 -> a4 -> a5 -> ()
rnf7 :: (NFData a, NFData a1, NFData a2, NFData a3, NFData a4, NFData a5,
NFData a6) =>
a -> a1 -> a2 -> a3 -> a4 -> a5 -> a6 -> ()
rnf0 = ()
rnf1 a = rnf a `seq` ()
rnf2 a b = rnf a `seq` rnf b `seq` ()
rnf3 a b c = rnf a `seq` rnf b `seq` rnf c `seq` ()
rnf4 a b c d = rnf a `seq` rnf b `seq` rnf c `seq` rnf d `seq` ()
rnf5 a b c d e = rnf a `seq` rnf b `seq` rnf c `seq` rnf d `seq` rnf e `seq` ()
rnf6 a b c d e
f = rnf a `seq` rnf b `seq` rnf c `seq` rnf d `seq` rnf e `seq`
rnf f `seq` ()
rnf7 a b c d e
f g = rnf a `seq` rnf b `seq` rnf c `seq` rnf d `seq` rnf e `seq`
rnf f `seq` rnf g `seq` ()
{-# INLINE rnf0 #-}
{-# INLINE rnf1 #-}
{-# INLINE rnf2 #-}
{-# INLINE rnf3 #-}
{-# INLINE rnf4 #-}
{-# INLINE rnf5 #-}
{-# INLINE rnf6 #-}
{-# INLINE rnf7 #-}
instance NFData PackageName where
rnf (PackageName a) = rnf1 a
instance NFData PackageId where
rnf (PackageId a b) = rnf2 a b
instance NFData Version where
rnf (Version a b) = rnf2 a b
instance NFData VersionRange where
rnf AnyVersion = rnf0
rnf (ThisVersion a) = rnf1 a
rnf (LaterVersion a) = rnf1 a
rnf (EarlierVersion a) = rnf1 a
rnf (WildcardVersion a) = rnf1 a
rnf (UnionVersionRanges a b) = rnf2 a b
rnf (IntersectVersionRanges a b) = rnf2 a b
rnf (VersionRangeParens a) = rnf1 a
instance NFData Dependency where
rnf (Dependency a b) = rnf2 a b
instance NFData CompilerFlavor where
rnf GHC = rnf0
rnf NHC = rnf0
rnf YHC = rnf0
rnf Hugs = rnf0
rnf HBC = rnf0
rnf Helium = rnf0
rnf JHC = rnf0
rnf LHC = rnf0
rnf UHC = rnf0
rnf (HaskellSuite a) = rnf1 a
rnf (OtherCompiler a) = rnf1 a
instance NFData License where
rnf (GPL a) = rnf1 a
rnf (AGPL a) = rnf1 a
rnf (LGPL a) = rnf1 a
rnf BSD3 = rnf0
rnf BSD4 = rnf0
rnf MIT = rnf0
rnf (Apache a) = rnf1 a
rnf PublicDomain = rnf0
rnf AllRightsReserved = rnf0
rnf OtherLicense = rnf0
rnf (UnknownLicense a) = rnf1 a
instance NFData SourceRepo where
rnf (SourceRepo a b c d e f g) = rnf7 a b c d e f g
instance NFData RepoKind where
rnf RepoHead = rnf0
rnf RepoThis = rnf0
rnf (RepoKindUnknown a) = rnf1 a
instance NFData RepoType where
rnf Darcs = rnf0
rnf Git = rnf0
rnf SVN = rnf0
rnf CVS = rnf0
rnf Mercurial = rnf0
rnf GnuArch = rnf0
rnf Bazaar = rnf0
rnf Monotone = rnf0
rnf (OtherRepoType a) = rnf1 a
instance NFData BuildType where
rnf Simple = rnf0
rnf Configure = rnf0
rnf Make = rnf0
rnf Custom = rnf0
rnf (UnknownBuildType a) = rnf1 a
instance NFData Library where
rnf (Library a b c) = rnf3 a b c
instance NFData Executable where
rnf (Executable a b c) = rnf3 a b c
instance NFData TestSuite where
rnf (TestSuite a b c d) = rnf4 a b c d
instance NFData TestSuiteInterface where
rnf (TestSuiteExeV10 a b) = rnf2 a b
rnf (TestSuiteLibV09 a b) = rnf2 a b
rnf (TestSuiteUnsupported a) = rnf1 a
instance NFData TestType where
rnf (TestTypeExe a) = rnf1 a
rnf (TestTypeLib a) = rnf1 a
rnf (TestTypeUnknown a b) = rnf2 a b
instance NFData Benchmark where
rnf (Benchmark a b c d) = rnf4 a b c d
instance NFData BenchmarkInterface where
rnf (BenchmarkExeV10 a b) = rnf2 a b
rnf (BenchmarkUnsupported a) = rnf1 a
instance NFData BenchmarkType where
rnf (BenchmarkTypeExe a) = rnf1 a
rnf (BenchmarkTypeUnknown a b) = rnf2 a b
instance NFData ModuleName where
rnf (ModuleName a) = rnf1 a
instance NFData BuildInfo where
rnf (BuildInfo a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
a11 a12 a13 a14 a15 a16 a17 a18 a19 a20
a21 a22 a23 a24 a25) =
rnf a1 `seq` rnf a2 `seq` rnf a3 `seq` rnf a4 `seq` rnf a5 `seq`
rnf a6 `seq` rnf a7 `seq` rnf a8 `seq` rnf a9 `seq` rnf a10 `seq`
rnf a11 `seq` rnf a12 `seq` rnf a13 `seq` rnf a14 `seq` rnf a15 `seq`
rnf a16 `seq` rnf a17 `seq` rnf a18 `seq` rnf a19 `seq` rnf a20 `seq`
rnf a21 `seq` rnf a22 `seq` rnf a23 `seq` rnf a24 `seq` rnf a25 `seq` ()
instance NFData Language where
rnf Haskell98 = rnf0
rnf Haskell2010 = rnf0
rnf (UnknownLanguage a) = rnf1 a
instance NFData Extension where
rnf (EnableExtension a) = rnf1 a
rnf (DisableExtension a) = rnf1 a
rnf (UnknownExtension a) = rnf1 a
instance NFData KnownExtension
instance NFData PackageDescription where
rnf (PackageDescription a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
a11 a12 a13 a14 a15 a16 a17 a18 a19 a20
a21 a22 a23 a24 a25 a26 a27 a28) =
rnf a1 `seq` rnf a2 `seq` rnf a3 `seq` rnf a4 `seq` rnf a5 `seq`
rnf a6 `seq` rnf a7 `seq` rnf a8 `seq` rnf a9 `seq` rnf a10 `seq`
rnf a11 `seq` rnf a12 `seq` rnf a13 `seq` rnf a14 `seq` rnf a15 `seq`
rnf a16 `seq` rnf a17 `seq` rnf a18 `seq` rnf a19 `seq` rnf a20 `seq`
rnf a21 `seq` rnf a22 `seq` rnf a23 `seq` rnf a24 `seq` rnf a25 `seq`
rnf a26 `seq` rnf a27 `seq` rnf a28 `seq` ()
instance NFData OS where
rnf Linux = rnf0
rnf Windows = rnf0
rnf OSX = rnf0
rnf FreeBSD = rnf0
rnf OpenBSD = rnf0
rnf NetBSD = rnf0
rnf Solaris = rnf0
rnf AIX = rnf0
rnf HPUX = rnf0
rnf IRIX = rnf0
rnf HaLVM = rnf0
rnf IOS = rnf0
rnf (OtherOS a) = rnf1 a
instance NFData Arch where
rnf I386 = rnf0
rnf X86_64 = rnf0
rnf PPC = rnf0
rnf PPC64 = rnf0
rnf Sparc = rnf0
rnf Arm = rnf0
rnf Mips = rnf0
rnf SH = rnf0
rnf IA64 = rnf0
rnf S390 = rnf0
rnf Alpha = rnf0
rnf Hppa = rnf0
rnf Rs6000 = rnf0
rnf M68k = rnf0
rnf (OtherArch a) = rnf1 a
rnf Vax = rnf0
instance NFData Flag where
rnf (MkFlag a b c d) = rnf4 a b c d
instance NFData FlagName where
rnf (FlagName a) = rnf1 a
instance (NFData a, NFData b, NFData c) => NFData (CondTree a b c) where
rnf (CondNode a b c) = rnf3 a b c
instance NFData ConfVar where
rnf (OS a) = rnf1 a
rnf (Arch a) = rnf1 a
rnf (Flag a) = rnf1 a
rnf (Impl a b) = rnf2 a b
instance NFData a => NFData (Condition a) where
rnf (Var a) = rnf1 a
rnf (Lit a) = rnf1 a
rnf (CNot a) = rnf1 a
rnf (COr a b) = rnf2 a b
rnf (CAnd a b) = rnf2 a b
instance NFData GenericPackageDescription where
rnf (GenericPackageDescription a b c d e f) = rnf6 a b c d e f