| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Lorentz.Polymorphic
Description
Type families from Polymorphic lifted to Haskell types.
Synopsis
- class (MemOp (ToT c), ToT (MemOpKeyHs c) ~ Tc (MemOpKey (ToT c))) => MemOpHs c where
- type MemOpKeyHs c :: Type
- class (MapOp (ToT c), ToT (MapOpInpHs c) ~ MapOpInp (ToT c), ToT (MapOpResHs c ()) ~ MapOpRes (ToT c) (ToT ())) => MapOpHs c where
- type MapOpInpHs c :: Type
- type MapOpResHs c :: Type -> Type
- class (IterOp (ToT c), ToT (IterOpElHs c) ~ IterOpEl (ToT c)) => IterOpHs c where
- type IterOpElHs c :: Type
- class SizeOp (ToT c) => SizeOpHs c
- class (UpdOp (ToT c), ToT (UpdOpKeyHs c) ~ Tc (UpdOpKey (ToT c)), ToT (UpdOpParamsHs c) ~ UpdOpParams (ToT c)) => UpdOpHs c where
- type UpdOpKeyHs c :: Type
- type UpdOpParamsHs c :: Type
- class (GetOp (ToT c), ToT (GetOpKeyHs c) ~ Tc (GetOpKey (ToT c)), ToT (GetOpValHs c) ~ GetOpVal (ToT c)) => GetOpHs c where
- type GetOpKeyHs c :: Type
- type GetOpValHs c :: Type
- class ConcatOp (ToT c) => ConcatOpHs c
- class SliceOp (ToT c) => SliceOpHs c
- class (EDivOp (ToCT n) (ToCT m), IsComparable n, IsComparable m, ToT (EDivOpResHs n m) ~ Tc (EDivOpRes (ToCT n) (ToCT m)), ToT (EModOpResHs n m) ~ Tc (EModOpRes (ToCT n) (ToCT m))) => EDivOpHs n m where
- type EDivOpResHs n m :: Type
- type EModOpResHs n m :: Type
- type family IsoMapOpRes c b where ...
Documentation
class (MemOp (ToT c), ToT (MemOpKeyHs c) ~ Tc (MemOpKey (ToT c))) => MemOpHs c Source #
Lifted MemOpKey.
Associated Types
type MemOpKeyHs c :: Type Source #
Instances
| IsComparable e => MemOpHs (Set e) Source # | |
Defined in Lorentz.Polymorphic Associated Types type MemOpKeyHs (Set e) :: Type Source # | |
| MemOpHs (UStore a) Source # | |
Defined in Lorentz.UStore.Types Associated Types type MemOpKeyHs (UStore a) :: Type Source # | |
| IsComparable k => MemOpHs (Map k v) Source # | |
Defined in Lorentz.Polymorphic Associated Types type MemOpKeyHs (Map k v) :: Type Source # | |
| IsComparable k => MemOpHs (BigMap k v) Source # | |
Defined in Lorentz.Polymorphic Associated Types type MemOpKeyHs (BigMap k v) :: Type Source # | |
class (MapOp (ToT c), ToT (MapOpInpHs c) ~ MapOpInp (ToT c), ToT (MapOpResHs c ()) ~ MapOpRes (ToT c) (ToT ())) => MapOpHs c Source #
Lifted MapOp.
Instances
| MapOpHs [e] Source # | |
Defined in Lorentz.Polymorphic | |
| IsComparable k => MapOpHs (Map k v) Source # | |
Defined in Lorentz.Polymorphic | |
class (IterOp (ToT c), ToT (IterOpElHs c) ~ IterOpEl (ToT c)) => IterOpHs c Source #
Lifted IterOp.
Associated Types
type IterOpElHs c :: Type Source #
Instances
| IterOpHs [e] Source # | |
Defined in Lorentz.Polymorphic Associated Types type IterOpElHs [e] :: Type Source # | |
| IsComparable e => IterOpHs (Set e) Source # | |
Defined in Lorentz.Polymorphic Associated Types type IterOpElHs (Set e) :: Type Source # | |
| IsComparable k => IterOpHs (Map k v) Source # | |
Defined in Lorentz.Polymorphic Associated Types type IterOpElHs (Map k v) :: Type Source # | |
class SizeOp (ToT c) => SizeOpHs c Source #
Lifted SizeOp.
This could be just a constraint alias, but to avoid T types appearance in
error messages we make a full type class with concrete instances.
Instances
| SizeOpHs ByteString Source # | |
Defined in Lorentz.Polymorphic | |
| SizeOpHs MText Source # | |
Defined in Lorentz.Polymorphic | |
| SizeOpHs [a] Source # | |
Defined in Lorentz.Polymorphic | |
| SizeOpHs (Set a) Source # | |
Defined in Lorentz.Polymorphic | |
| SizeOpHs (Map k v) Source # | |
Defined in Lorentz.Polymorphic | |
class (UpdOp (ToT c), ToT (UpdOpKeyHs c) ~ Tc (UpdOpKey (ToT c)), ToT (UpdOpParamsHs c) ~ UpdOpParams (ToT c)) => UpdOpHs c Source #
Lifted UpdOp.
Instances
| IsComparable a => UpdOpHs (Set a) Source # | |
Defined in Lorentz.Polymorphic | |
| UpdOpHs (UStore a) Source # | |
Defined in Lorentz.UStore.Types Associated Types type UpdOpKeyHs (UStore a) :: Type Source # type UpdOpParamsHs (UStore a) :: Type Source # | |
| IsComparable k => UpdOpHs (Map k v) Source # | |
Defined in Lorentz.Polymorphic Associated Types type UpdOpKeyHs (Map k v) :: Type Source # type UpdOpParamsHs (Map k v) :: Type Source # | |
| IsComparable k => UpdOpHs (BigMap k v) Source # | |
Defined in Lorentz.Polymorphic Associated Types type UpdOpKeyHs (BigMap k v) :: Type Source # type UpdOpParamsHs (BigMap k v) :: Type Source # | |
class (GetOp (ToT c), ToT (GetOpKeyHs c) ~ Tc (GetOpKey (ToT c)), ToT (GetOpValHs c) ~ GetOpVal (ToT c)) => GetOpHs c Source #
Lifted GetOp.
Instances
| GetOpHs (UStore a) Source # | |
Defined in Lorentz.UStore.Types Associated Types type GetOpKeyHs (UStore a) :: Type Source # type GetOpValHs (UStore a) :: Type Source # | |
| IsComparable k => GetOpHs (Map k v) Source # | |
Defined in Lorentz.Polymorphic Associated Types type GetOpKeyHs (Map k v) :: Type Source # type GetOpValHs (Map k v) :: Type Source # | |
| IsComparable k => GetOpHs (BigMap k v) Source # | |
Defined in Lorentz.Polymorphic Associated Types type GetOpKeyHs (BigMap k v) :: Type Source # type GetOpValHs (BigMap k v) :: Type Source # | |
class ConcatOp (ToT c) => ConcatOpHs c Source #
Lifted ConcatOp.
Instances
| ConcatOpHs ByteString Source # | |
Defined in Lorentz.Polymorphic | |
| ConcatOpHs MText Source # | |
Defined in Lorentz.Polymorphic | |
class SliceOp (ToT c) => SliceOpHs c Source #
Lifted SliceOp.
Instances
| SliceOpHs ByteString Source # | |
Defined in Lorentz.Polymorphic | |
| SliceOpHs MText Source # | |
Defined in Lorentz.Polymorphic | |
class (EDivOp (ToCT n) (ToCT m), IsComparable n, IsComparable m, ToT (EDivOpResHs n m) ~ Tc (EDivOpRes (ToCT n) (ToCT m)), ToT (EModOpResHs n m) ~ Tc (EModOpRes (ToCT n) (ToCT m))) => EDivOpHs n m Source #
Lifted EDivOp.
Instances
| EDivOpHs Integer Integer Source # | |
Defined in Lorentz.Polymorphic | |
| EDivOpHs Integer Natural Source # | |
Defined in Lorentz.Polymorphic | |
| EDivOpHs Natural Integer Source # | |
Defined in Lorentz.Polymorphic | |
| EDivOpHs Natural Natural Source # | |
Defined in Lorentz.Polymorphic | |
| EDivOpHs Mutez Natural Source # | |
Defined in Lorentz.Polymorphic | |
| EDivOpHs Mutez Mutez Source # | |
Defined in Lorentz.Polymorphic | |
type family IsoMapOpRes c b where ... Source #
A useful property which holds for reasonable MapOp instances.
It's a separate thing from MapOpHs because it mentions b type parameter.
Equations
| IsoMapOpRes c b = ToT (MapOpResHs c b) ~ MapOpRes (ToT c) (ToT b) |