Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Propellor.Types.Singletons
Description
Simple implementation of singletons, portable back to ghc 7.6.3
Documentation
class kparam ~ 'KProxy => SingKind (kparam :: KProxy k) where Source #
A class used to pass singleton values implicitly.
Instances
SingI 'False Source # | |
Defined in Propellor.Types.Singletons | |
SingI 'True Source # | |
Defined in Propellor.Types.Singletons | |
SingI 'WithInfo Source # | |
SingI ('Targeting 'OSDebian) Source # | |
SingI ('Targeting 'OSBuntish) Source # | |
SingI ('Targeting 'OSArchLinux) Source # | |
Defined in Propellor.Types.MetaTypes | |
SingI ('Targeting 'OSFreeBSD) Source # | |
SingI ('[] :: [k]) Source # | |
Defined in Propellor.Types.Singletons | |
(SingI x, SingI xs) => SingI (x ': xs :: [a]) Source # | |
Defined in Propellor.Types.Singletons |
data family Sing (x :: k) Source #
The data family of singleton types.
Instances
SingI metatypes => Semigroup (Property (MetaTypes metatypes)) | Any type of Property is a Semigroup. When properties x and y are appended together, the resulting property has a description like "x and y". Note that when x fails to be ensured, it will not try to ensure y. |
Defined in Propellor.Types | |
SingI metatypes => Monoid (Property (MetaTypes metatypes)) Source # | Any type of Property is a Monoid. |
(CheckCombinable x y, SingI (Combine x y)) => Combines (Property (MetaTypes x)) (Property (MetaTypes y)) Source # | |
Defined in Propellor.Types Methods combineWith :: ResultCombiner -> ResultCombiner -> Property (MetaTypes x) -> Property (MetaTypes y) -> CombinedType (Property (MetaTypes x)) (Property (MetaTypes y)) Source # | |
(CheckCombinable x y, SingI (Combine x y)) => Combines (Property (MetaTypes x)) (RevertableProperty (MetaTypes y) (MetaTypes y')) Source # | |
Defined in Propellor.Types Methods combineWith :: ResultCombiner -> ResultCombiner -> Property (MetaTypes x) -> RevertableProperty (MetaTypes y) (MetaTypes y') -> CombinedType (Property (MetaTypes x)) (RevertableProperty (MetaTypes y) (MetaTypes y')) Source # | |
(Semigroup (Property (MetaTypes setupmetatypes)), Semigroup (Property (MetaTypes undometatypes)), SingI setupmetatypes, SingI undometatypes) => Semigroup (RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes)) | Any type of RevertableProperty is a Semigroup. When revertable properties x and y are appended together, the resulting revertable property has a description like "x and y". Note that when x fails to be ensured, it will not try to ensure y. |
Defined in Propellor.Types Methods (<>) :: RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes) -> RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes) -> RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes) # sconcat :: NonEmpty (RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes)) -> RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes) stimes :: Integral b => b -> RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes) -> RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes) | |
(Monoid (Property (MetaTypes setupmetatypes)), Monoid (Property (MetaTypes undometatypes)), SingI setupmetatypes, SingI undometatypes) => Monoid (RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes)) Source # | |
Defined in Propellor.Types Methods mempty :: RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes) # mappend :: RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes) -> RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes) -> RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes) # mconcat :: [RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes)] -> RevertableProperty (MetaTypes setupmetatypes) (MetaTypes undometatypes) # | |
(CheckCombinable x y, SingI (Combine x y)) => Combines (RevertableProperty (MetaTypes x) (MetaTypes x')) (Property (MetaTypes y)) Source # | |
Defined in Propellor.Types Methods combineWith :: ResultCombiner -> ResultCombiner -> RevertableProperty (MetaTypes x) (MetaTypes x') -> Property (MetaTypes y) -> CombinedType (RevertableProperty (MetaTypes x) (MetaTypes x')) (Property (MetaTypes y)) Source # | |
(CheckCombinable x y, CheckCombinable x' y', SingI (Combine x y), SingI (Combine x' y')) => Combines (RevertableProperty (MetaTypes x) (MetaTypes x')) (RevertableProperty (MetaTypes y) (MetaTypes y')) Source # | |
Defined in Propellor.Types Methods combineWith :: ResultCombiner -> ResultCombiner -> RevertableProperty (MetaTypes x) (MetaTypes x') -> RevertableProperty (MetaTypes y) (MetaTypes y') -> CombinedType (RevertableProperty (MetaTypes x) (MetaTypes x')) (RevertableProperty (MetaTypes y) (MetaTypes y')) Source # | |
data Sing (x :: Bool) Source # | |
data Sing (x :: MetaType) Source # | |
Defined in Propellor.Types.MetaTypes | |
data Sing (x :: [k]) Source # | |