| 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 # | |