Safe Haskell | None |
---|---|
Language | Haskell2010 |
Foundation of Lorentz development.
Synopsis
- newtype (inp :: [Type]) :-> (out :: [Type]) = I {}
- type (%>) = (:->)
- type (&) (a :: Type) (b :: [Type]) = a ': b
- (#) :: (a :-> b) -> (b :-> c) -> a :-> c
- compileLorentz :: (inp :-> out) -> Instr (ToTs inp) (ToTs out)
- compileLorentzContract :: forall cp st. (NoOperation cp, NoOperation st, NoBigMap cp, CanHaveBigMap st) => Contract cp st -> Instr '[ToT (cp, st)] '[ToT ([Operation], st)]
- printLorentzContract :: forall cp st. (SingI (ToT cp), SingI (ToT st), NoOperation cp, NoOperation st, NoBigMap cp, CanHaveBigMap st) => Contract cp st -> LText
- type ContractOut st = '[([Operation], st)]
- type Contract cp st = '[(cp, st)] :-> ContractOut st
- type Lambda i o = '[i] :-> '[o]
Documentation
newtype (inp :: [Type]) :-> (out :: [Type]) infixr 1 Source #
Alias for instruction which hides inner types representation via T
.
Instances
Eq (inp :-> out) Source # | |
Show (inp :-> out) Source # | |
IsoValue (Lambda inp out) Source # | |
(SingI (ToT cp), SingI (ToT st), NoOperation cp, NoOperation st, NoBigMap cp, CanHaveBigMap st) => IsContract (Contract cp st) Source # | |
Defined in Lorentz.Discover toUntypedContract :: Contract cp st -> Contract0 Source # | |
type ToT (Lambda inp out) Source # | |
type (%>) = (:->) infixr 1 Source #
Alias for :->
, seems to make signatures more readable sometimes.
Let's someday decide which one of these two should remain.
compileLorentzContract :: forall cp st. (NoOperation cp, NoOperation st, NoBigMap cp, CanHaveBigMap st) => Contract cp st -> Instr '[ToT (cp, st)] '[ToT ([Operation], st)] Source #
Version of compileLorentz
specialized to instruction corresponding to
contract code.
printLorentzContract :: forall cp st. (SingI (ToT cp), SingI (ToT st), NoOperation cp, NoOperation st, NoBigMap cp, CanHaveBigMap st) => Contract cp st -> LText Source #
type ContractOut st = '[([Operation], st)] Source #
type Contract cp st = '[(cp, st)] :-> ContractOut st Source #