{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
module Distribution.Types.ConfVar (
ConfVar(..),
) where
import Prelude ()
import Distribution.Compat.Prelude
import Distribution.Types.Flag
import Distribution.Types.VersionRange
import Distribution.Compiler
import Distribution.System
data ConfVar = OS OS
| Arch Arch
| Flag FlagName
| Impl CompilerFlavor VersionRange
deriving (ConfVar -> ConfVar -> Bool
(ConfVar -> ConfVar -> Bool)
-> (ConfVar -> ConfVar -> Bool) -> Eq ConfVar
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ConfVar -> ConfVar -> Bool
$c/= :: ConfVar -> ConfVar -> Bool
== :: ConfVar -> ConfVar -> Bool
$c== :: ConfVar -> ConfVar -> Bool
External instance of the constraint type Eq VersionRange
External instance of the constraint type Eq CompilerFlavor
External instance of the constraint type Eq FlagName
External instance of the constraint type Eq Arch
External instance of the constraint type Eq OS
Eq, Int -> ConfVar -> ShowS
[ConfVar] -> ShowS
ConfVar -> String
(Int -> ConfVar -> ShowS)
-> (ConfVar -> String) -> ([ConfVar] -> ShowS) -> Show ConfVar
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ConfVar] -> ShowS
$cshowList :: [ConfVar] -> ShowS
show :: ConfVar -> String
$cshow :: ConfVar -> String
showsPrec :: Int -> ConfVar -> ShowS
$cshowsPrec :: Int -> ConfVar -> ShowS
External instance of the constraint type Show VersionRange
External instance of the constraint type Show CompilerFlavor
External instance of the constraint type Show FlagName
External instance of the constraint type Show Arch
External instance of the constraint type Show OS
External instance of the constraint type Ord Int
External instance of the constraint type Ord Int
Show, Typeable, Typeable ConfVar
DataType
Constr
Typeable ConfVar
-> (forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ConfVar -> c ConfVar)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ConfVar)
-> (ConfVar -> Constr)
-> (ConfVar -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c ConfVar))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConfVar))
-> ((forall b. Data b => b -> b) -> ConfVar -> ConfVar)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ConfVar -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ConfVar -> r)
-> (forall u. (forall d. Data d => d -> u) -> ConfVar -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> ConfVar -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> ConfVar -> m ConfVar)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> ConfVar -> m ConfVar)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> ConfVar -> m ConfVar)
-> Data ConfVar
ConfVar -> DataType
ConfVar -> Constr
(forall b. Data b => b -> b) -> ConfVar -> ConfVar
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ConfVar -> c ConfVar
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ConfVar
forall a.
Typeable a
-> (forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> ConfVar -> u
forall u. (forall d. Data d => d -> u) -> ConfVar -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ConfVar -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ConfVar -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> ConfVar -> m ConfVar
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> ConfVar -> m ConfVar
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ConfVar
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ConfVar -> c ConfVar
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c ConfVar)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConfVar)
$cImpl :: Constr
$cFlag :: Constr
$cArch :: Constr
$cOS :: Constr
$tConfVar :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> ConfVar -> m ConfVar
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> ConfVar -> m ConfVar
gmapMp :: (forall d. Data d => d -> m d) -> ConfVar -> m ConfVar
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> ConfVar -> m ConfVar
gmapM :: (forall d. Data d => d -> m d) -> ConfVar -> m ConfVar
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> ConfVar -> m ConfVar
gmapQi :: Int -> (forall d. Data d => d -> u) -> ConfVar -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> ConfVar -> u
gmapQ :: (forall d. Data d => d -> u) -> ConfVar -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> ConfVar -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ConfVar -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> ConfVar -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ConfVar -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> ConfVar -> r
gmapT :: (forall b. Data b => b -> b) -> ConfVar -> ConfVar
$cgmapT :: (forall b. Data b => b -> b) -> ConfVar -> ConfVar
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConfVar)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConfVar)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c ConfVar)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c ConfVar)
dataTypeOf :: ConfVar -> DataType
$cdataTypeOf :: ConfVar -> DataType
toConstr :: ConfVar -> Constr
$ctoConstr :: ConfVar -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ConfVar
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c ConfVar
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ConfVar -> c ConfVar
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> ConfVar -> c ConfVar
External instance of the constraint type Data CompilerFlavor
External instance of the constraint type Data VersionRange
External instance of the constraint type Data FlagName
External instance of the constraint type Data Arch
External instance of the constraint type Data OS
Data, (forall x. ConfVar -> Rep ConfVar x)
-> (forall x. Rep ConfVar x -> ConfVar) -> Generic ConfVar
forall x. Rep ConfVar x -> ConfVar
forall x. ConfVar -> Rep ConfVar x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ConfVar x -> ConfVar
$cfrom :: forall x. ConfVar -> Rep ConfVar x
Generic)
instance Binary ConfVar
instance Structured ConfVar
instance NFData ConfVar where rnf :: ConfVar -> ()
rnf = ConfVar -> ()
forall a. (Generic a, GNFData (Rep a)) => a -> ()
External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a)
External instance of the constraint type forall (a :: * -> *) (b :: * -> *).
(GNFData a, GNFData b) =>
GNFData (a :+: b)
External instance of the constraint type forall (a :: * -> *) (b :: * -> *).
(GNFData a, GNFData b) =>
GNFData (a :+: b)
External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a)
External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a)
External instance of the constraint type forall a i. NFData a => GNFData (K1 i a)
External instance of the constraint type NFData OS
External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a)
External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a)
External instance of the constraint type forall a i. NFData a => GNFData (K1 i a)
External instance of the constraint type NFData Arch
External instance of the constraint type forall (a :: * -> *) (b :: * -> *).
(GNFData a, GNFData b) =>
GNFData (a :+: b)
External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a)
External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a)
External instance of the constraint type forall a i. NFData a => GNFData (K1 i a)
External instance of the constraint type NFData FlagName
External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a)
External instance of the constraint type forall (a :: * -> *) (b :: * -> *).
(GNFData a, GNFData b) =>
GNFData (a :*: b)
External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a)
External instance of the constraint type forall a i. NFData a => GNFData (K1 i a)
External instance of the constraint type NFData CompilerFlavor
External instance of the constraint type forall (a :: * -> *) i (c :: Meta). GNFData a => GNFData (M1 i c a)
External instance of the constraint type forall a i. NFData a => GNFData (K1 i a)
External instance of the constraint type NFData VersionRange
Instance of class: Generic of the constraint type Generic ConfVar
genericRnf