Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Ecstasy.Internal.Deriving
- class GHoistWorld (t :: (* -> *) -> * -> *) (m :: * -> *) a b where
- class GGraft a b where
- class GConvertSetter a b where
- class GGetEntity m a b where
- class GSetEntity m a b where
- def :: forall keep a. (Generic a, GDefault keep (Rep a)) => a
- class GDefault (keep :: Bool) f where
Documentation
class GHoistWorld (t :: (* -> *) -> * -> *) (m :: * -> *) a b where Source #
Utility class for implementing hoistStorage
.
Minimal complete definition
Methods
gHoistWorld :: a x -> b x Source #
Instances
(Applicative (t m), GHoistWorld t m a c, GHoistWorld t m b d) => GHoistWorld t m ((:*:) * a b) ((:*:) * c d) Source # | |
GHoistWorld t m (K1 * i a) (K1 * i' a) Source # | |
(MonadTrans t, Functor (t m), Monad m) => GHoistWorld t m (K1 * i (VTable m a)) (K1 * i' (VTable (t m) a)) Source # | |
(Functor (t m), GHoistWorld t m f f') => GHoistWorld t m (M1 * i c f) (M1 * i' c' f') Source # | |
class GGraft a b where Source #
Utility class for implementing graftStorage
.
Minimal complete definition
class GConvertSetter a b where Source #
Utility class for implementing convertSetter
.
Minimal complete definition
Methods
gConvertSetter :: a x -> b x Source #
Instances
GConvertSetter (K1 * i (Maybe a)) (K1 * i' (Update a)) Source # | |
GConvertSetter (K1 * i a) (K1 * i' (Update a)) Source # | |
GConvertSetter (K1 * i a) (K1 * i' (Maybe a)) Source # | |
(GConvertSetter a c, GConvertSetter b d) => GConvertSetter ((:*:) * a b) ((:*:) * c d) Source # | |
GConvertSetter f f' => GConvertSetter (M1 * i c f) (M1 * i' c' f') Source # | |
class GGetEntity m a b where Source #
Utility class for implementing getEntity
.
Minimal complete definition
Methods
gGetEntity :: a x -> Int -> Codensity m (b x) Source #
Instances
(Applicative m, GGetEntity m a c, GGetEntity m b d) => GGetEntity m ((:*:) * a b) ((:*:) * c d) Source # | |
Applicative m => GGetEntity m (K1 * i (Maybe (Int, a))) (K1 * i' (Maybe a)) Source # | |
Applicative m => GGetEntity m (K1 * i (IntMap a)) (K1 * i' (Maybe a)) Source # | |
Monad m => GGetEntity m (K1 * i (VTable m a)) (K1 * i' (Maybe a)) Source # | |
(Functor m, GGetEntity m f f') => GGetEntity m (M1 * i c f) (M1 * i' c' f') Source # | |
class GSetEntity m a b where Source #
Utility class for implementing setEntity
.
Minimal complete definition
Methods
gSetEntity :: a x -> Int -> b x -> Codensity m (b x) Source #
Instances
(Applicative m, GSetEntity m a c, GSetEntity m b d) => GSetEntity m ((:*:) * a b) ((:*:) * c d) Source # | |
Applicative m => GSetEntity m (K1 * i (Update a)) (K1 * i' (IntMap a)) Source # | |
Monad m => GSetEntity m (K1 * i (Update a)) (K1 * i' (VTable m a)) Source # | |
Applicative m => GSetEntity m (K1 * i (Update a)) (K1 * i' (Maybe (Int, a))) Source # | |
(Functor m, GSetEntity m f f') => GSetEntity m (M1 * i c f) (M1 * i' c' f') Source # | |
class GDefault (keep :: Bool) f where Source #
Utility class for implementing various defaults. The keep
parameter is
used to statically describe whether or not to keep the previous value when
dealing with Update
fields.
Minimal complete definition
Instances
GDefault keep (U1 *) Source # | |
GDefault False (K1 * i (Update c)) Source # | |
GDefault True (K1 * i (Update c)) Source # | |
(GDefault keep a, GDefault keep b) => GDefault keep ((:*:) * a b) Source # | |
GDefault keep (K1 * i (IntMap c)) Source # | |
GDefault keep (K1 * i (Maybe c)) Source # | |
GDefault keep f => GDefault keep (M1 * i c f) Source # | |
(Applicative m, KnownSymbol sym) => GDefault keep (M1 * S (MetaSel (Just Symbol sym) x y z) (K1 * i (VTable m a))) Source # | |