Safe Haskell | None |
---|---|
Language | Haskell2010 |
Type families from Polymorphic
lifted to Haskell types.
Synopsis
- class (MemOp (ToT c), ToT (MemOpKeyHs c) ~ 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) ~ 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) ~ 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 (ToT n) (ToT m), NiceComparable n, NiceComparable m, ToT (EDivOpResHs n m) ~ EDivOpRes (ToT n) (ToT m), ToT (EModOpResHs n m) ~ EModOpRes (ToT n) (ToT 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) ~ MemOpKey (ToT c)) => MemOpHs c Source #
Lifted MemOpKey
.
type MemOpKeyHs c :: Type Source #
Instances
NiceComparable e => MemOpHs (Set e) Source # | |
Defined in Lorentz.Polymorphic type MemOpKeyHs (Set e) Source # | |
NiceComparable k => MemOpHs (Map k v) Source # | |
Defined in Lorentz.Polymorphic type MemOpKeyHs (Map k v) Source # | |
NiceComparable k => MemOpHs (BigMap k v) Source # | |
Defined in Lorentz.Polymorphic type MemOpKeyHs (BigMap k v) Source # |
class (MapOp (ToT c), ToT (MapOpInpHs c) ~ MapOpInp (ToT c), ToT (MapOpResHs c ()) ~ MapOpRes (ToT c) (ToT ())) => MapOpHs c Source #
Lifted MapOp
.
type MapOpInpHs c :: Type Source #
type MapOpResHs c :: Type -> Type Source #
Instances
MapOpHs [e] Source # | |
Defined in Lorentz.Polymorphic type MapOpInpHs [e] Source # type MapOpResHs [e] :: Type -> Type Source # | |
NiceComparable k => MapOpHs (Map k v) Source # | |
Defined in Lorentz.Polymorphic type MapOpInpHs (Map k v) Source # |
class (IterOp (ToT c), ToT (IterOpElHs c) ~ IterOpEl (ToT c)) => IterOpHs c Source #
Lifted IterOp
.
type IterOpElHs c :: Type Source #
Instances
IterOpHs [e] Source # | |
Defined in Lorentz.Polymorphic type IterOpElHs [e] Source # | |
NiceComparable e => IterOpHs (Set e) Source # | |
Defined in Lorentz.Polymorphic type IterOpElHs (Set e) Source # | |
NiceComparable k => IterOpHs (Map k v) Source # | |
Defined in Lorentz.Polymorphic type IterOpElHs (Map k v) 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) ~ UpdOpKey (ToT c), ToT (UpdOpParamsHs c) ~ UpdOpParams (ToT c)) => UpdOpHs c Source #
Lifted UpdOp
.
type UpdOpKeyHs c :: Type Source #
type UpdOpParamsHs c :: Type Source #
Instances
NiceComparable a => UpdOpHs (Set a) Source # | |
Defined in Lorentz.Polymorphic type UpdOpKeyHs (Set a) Source # type UpdOpParamsHs (Set a) Source # | |
NiceComparable k => UpdOpHs (Map k v) Source # | |
Defined in Lorentz.Polymorphic type UpdOpKeyHs (Map k v) Source # type UpdOpParamsHs (Map k v) Source # | |
NiceComparable k => UpdOpHs (BigMap k v) Source # | |
Defined in Lorentz.Polymorphic type UpdOpKeyHs (BigMap k v) Source # type UpdOpParamsHs (BigMap k v) Source # |
class (GetOp (ToT c), ToT (GetOpKeyHs c) ~ GetOpKey (ToT c), ToT (GetOpValHs c) ~ GetOpVal (ToT c)) => GetOpHs c Source #
Lifted GetOp
.
type GetOpKeyHs c :: Type Source #
type GetOpValHs c :: Type Source #
Instances
NiceComparable k => GetOpHs (Map k v) Source # | |
Defined in Lorentz.Polymorphic type GetOpKeyHs (Map k v) Source # type GetOpValHs (Map k v) Source # | |
NiceComparable k => GetOpHs (BigMap k v) Source # | |
Defined in Lorentz.Polymorphic type GetOpKeyHs (BigMap k v) Source # type GetOpValHs (BigMap k v) 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 (ToT n) (ToT m), NiceComparable n, NiceComparable m, ToT (EDivOpResHs n m) ~ EDivOpRes (ToT n) (ToT m), ToT (EModOpResHs n m) ~ EModOpRes (ToT n) (ToT m)) => EDivOpHs n m Source #
Lifted EDivOp
.
type EDivOpResHs n m :: Type Source #
type EModOpResHs n m :: Type Source #
Instances
EDivOpHs Integer Integer Source # | |
Defined in Lorentz.Polymorphic type EDivOpResHs Integer Integer Source # type EModOpResHs Integer Integer Source # | |
EDivOpHs Integer Natural Source # | |
Defined in Lorentz.Polymorphic type EDivOpResHs Integer Natural Source # type EModOpResHs Integer Natural Source # | |
EDivOpHs Natural Integer Source # | |
Defined in Lorentz.Polymorphic type EDivOpResHs Natural Integer Source # type EModOpResHs Natural Integer Source # | |
EDivOpHs Natural Natural Source # | |
Defined in Lorentz.Polymorphic type EDivOpResHs Natural Natural Source # type EModOpResHs Natural Natural Source # | |
EDivOpHs Mutez Natural Source # | |
Defined in Lorentz.Polymorphic type EDivOpResHs Mutez Natural Source # type EModOpResHs Mutez Natural Source # | |
EDivOpHs Mutez Mutez Source # | |
Defined in Lorentz.Polymorphic type EDivOpResHs Mutez Mutez Source # type EModOpResHs Mutez Mutez Source # |
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.
IsoMapOpRes c b = ToT (MapOpResHs c b) ~ MapOpRes (ToT c) (ToT b) |