lorentz-0.6.1: EDSL for the Michelson Language
Safe HaskellNone
LanguageHaskell2010

Lorentz.Polymorphic

Description

Type families from Polymorphic lifted to Haskell types.

Synopsis

Documentation

class (MemOp (ToT c), ToT (MemOpKeyHs c) ~ MemOpKey (ToT c)) => MemOpHs c Source #

Lifted MemOpKey.

Associated Types

type MemOpKeyHs c :: Type Source #

Instances

Instances details
NiceComparable e => MemOpHs (Set e) Source # 
Instance details

Defined in Lorentz.Polymorphic

Associated Types

type MemOpKeyHs (Set e) Source #

MemOpHs (UStore a) Source # 
Instance details

Defined in Lorentz.UStore.Types

Associated Types

type MemOpKeyHs (UStore a) Source #

NiceComparable k => MemOpHs (Map k v) Source # 
Instance details

Defined in Lorentz.Polymorphic

Associated Types

type MemOpKeyHs (Map k v) Source #

NiceComparable k => MemOpHs (BigMap k v) Source # 
Instance details

Defined in Lorentz.Polymorphic

Associated Types

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.

Associated Types

type MapOpInpHs c :: Type Source #

type MapOpResHs c :: Type -> Type Source #

Instances

Instances details
MapOpHs [e] Source # 
Instance details

Defined in Lorentz.Polymorphic

Associated Types

type MapOpInpHs [e] Source #

type MapOpResHs [e] :: Type -> Type Source #

NiceComparable k => MapOpHs (Map k v) Source # 
Instance details

Defined in Lorentz.Polymorphic

Associated Types

type MapOpInpHs (Map k v) Source #

type MapOpResHs (Map k v) :: Type -> Type Source #

class (IterOp (ToT c), ToT (IterOpElHs c) ~ IterOpEl (ToT c)) => IterOpHs c Source #

Lifted IterOp.

Associated Types

type IterOpElHs c :: Type Source #

Instances

Instances details
IterOpHs [e] Source # 
Instance details

Defined in Lorentz.Polymorphic

Associated Types

type IterOpElHs [e] Source #

NiceComparable e => IterOpHs (Set e) Source # 
Instance details

Defined in Lorentz.Polymorphic

Associated Types

type IterOpElHs (Set e) Source #

NiceComparable k => IterOpHs (Map k v) Source # 
Instance details

Defined in Lorentz.Polymorphic

Associated Types

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

Instances details
SizeOpHs ByteString Source # 
Instance details

Defined in Lorentz.Polymorphic

SizeOpHs MText Source # 
Instance details

Defined in Lorentz.Polymorphic

SizeOpHs [a] Source # 
Instance details

Defined in Lorentz.Polymorphic

SizeOpHs (Set a) Source # 
Instance details

Defined in Lorentz.Polymorphic

SizeOpHs (Map k v) Source # 
Instance details

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.

Associated Types

type UpdOpKeyHs c :: Type Source #

type UpdOpParamsHs c :: Type Source #

Instances

Instances details
NiceComparable a => UpdOpHs (Set a) Source # 
Instance details

Defined in Lorentz.Polymorphic

Associated Types

type UpdOpKeyHs (Set a) Source #

type UpdOpParamsHs (Set a) Source #

UpdOpHs (UStore a) Source # 
Instance details

Defined in Lorentz.UStore.Types

Associated Types

type UpdOpKeyHs (UStore a) Source #

type UpdOpParamsHs (UStore a) Source #

NiceComparable k => UpdOpHs (Map k v) Source # 
Instance details

Defined in Lorentz.Polymorphic

Associated Types

type UpdOpKeyHs (Map k v) Source #

type UpdOpParamsHs (Map k v) Source #

NiceComparable k => UpdOpHs (BigMap k v) Source # 
Instance details

Defined in Lorentz.Polymorphic

Associated Types

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.

Associated Types

type GetOpKeyHs c :: Type Source #

type GetOpValHs c :: Type Source #

Instances

Instances details
GetOpHs (UStore a) Source # 
Instance details

Defined in Lorentz.UStore.Types

Associated Types

type GetOpKeyHs (UStore a) Source #

type GetOpValHs (UStore a) Source #

NiceComparable k => GetOpHs (Map k v) Source # 
Instance details

Defined in Lorentz.Polymorphic

Associated Types

type GetOpKeyHs (Map k v) Source #

type GetOpValHs (Map k v) Source #

NiceComparable k => GetOpHs (BigMap k v) Source # 
Instance details

Defined in Lorentz.Polymorphic

Associated Types

type GetOpKeyHs (BigMap k v) Source #

type GetOpValHs (BigMap k v) Source #

class ConcatOp (ToT c) => ConcatOpHs c Source #

Lifted ConcatOp.

Instances

Instances details
ConcatOpHs ByteString Source # 
Instance details

Defined in Lorentz.Polymorphic

ConcatOpHs MText Source # 
Instance details

Defined in Lorentz.Polymorphic

class SliceOp (ToT c) => SliceOpHs c Source #

Lifted SliceOp.

Instances

Instances details
SliceOpHs ByteString Source # 
Instance details

Defined in Lorentz.Polymorphic

SliceOpHs MText Source # 
Instance details

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.

Associated Types

type EDivOpResHs n m :: Type Source #

type EModOpResHs n m :: Type Source #

Instances

Instances details
EDivOpHs Integer Integer Source # 
Instance details

Defined in Lorentz.Polymorphic

EDivOpHs Integer Natural Source # 
Instance details

Defined in Lorentz.Polymorphic

EDivOpHs Natural Integer Source # 
Instance details

Defined in Lorentz.Polymorphic

EDivOpHs Natural Natural Source # 
Instance details

Defined in Lorentz.Polymorphic

EDivOpHs Mutez Natural Source # 
Instance details

Defined in Lorentz.Polymorphic

EDivOpHs Mutez Mutez Source # 
Instance details

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)