plutus-core-0.1.0.0: Language library for Plutus Core
Safe HaskellNone
LanguageHaskell2010

PlutusCore.Flat

Description

Flat instances for Plutus Core types. Make sure to read the Note [Stable encoding of PLC] before touching anything in this file. Also see the Notes [Serialising unit annotations] and [Serialising Scripts] before using anything in this file.

Synopsis

Documentation

newtype AsSerialize a Source #

For deriving Flat instances via Serialize.

Constructors

AsSerialize 

Fields

Instances

Instances details
Serialise a => Flat (AsSerialize a) Source # 
Instance details

Defined in PlutusCore.Flat

Serialise a => Serialise (AsSerialize a) Source # 
Instance details

Defined in PlutusCore.Flat

Orphan instances

Flat Data Source # 
Instance details

Flat Unique Source # 
Instance details

Flat TyName Source # 
Instance details

Flat Name Source # 
Instance details

Flat TyDeBruijn Source # 
Instance details

Flat NamedTyDeBruijn Source # 
Instance details

Flat DeBruijn Source # 
Instance details

Flat NamedDeBruijn Source # 
Instance details

Flat Index Source # 
Instance details

Closed uni => Flat (SomeTypeIn uni) Source # 
Instance details

Flat ann => Flat (Version ann) Source # 
Instance details

Flat ann => Flat (Kind ann) Source # 
Instance details

Methods

encode :: Kind ann -> Encoding Source #

decode :: Get (Kind ann) Source #

size :: Kind ann -> NumBits -> NumBits Source #

Flat (Binder TyName) Source # 
Instance details

Flat (Binder Name) Source # 
Instance details

Flat (Binder NamedTyDeBruijn) Source # 
Instance details

Flat (Binder DeBruijn) Source # 
Instance details

Flat (Binder NamedDeBruijn) Source # 
Instance details

Flat a => Flat (Normalized a) Source # 
Instance details

(Closed uni, Everywhere uni Flat) => Flat (Some (ValueOf uni)) Source # 
Instance details

(Flat ann, Flat tyname) => Flat (TyVarDecl tyname ann) Source # 
Instance details

Methods

encode :: TyVarDecl tyname ann -> Encoding Source #

decode :: Get (TyVarDecl tyname ann) Source #

size :: TyVarDecl tyname ann -> NumBits -> NumBits Source #

(Closed uni, Flat ann, Flat tyname) => Flat (Type tyname uni ann) Source # 
Instance details

Methods

encode :: Type tyname uni ann -> Encoding Source #

decode :: Get (Type tyname uni ann) Source #

size :: Type tyname uni ann -> NumBits -> NumBits Source #

(Flat ann, Flat (Term tyname name uni fun ann)) => Flat (Program tyname name uni fun ann) Source # 
Instance details

Methods

encode :: Program tyname name uni fun ann -> Encoding Source #

decode :: Get (Program tyname name uni fun ann) Source #

size :: Program tyname name uni fun ann -> NumBits -> NumBits Source #

(Closed uni, Everywhere uni Flat, Flat fun, Flat ann, Flat tyname, Flat name) => Flat (Term tyname name uni fun ann) Source # 
Instance details

Methods

encode :: Term tyname name uni fun ann -> Encoding Source #

decode :: Get (Term tyname name uni fun ann) Source #

size :: Term tyname name uni fun ann -> NumBits -> NumBits Source #

(Closed uni, Flat fun, Flat ann, Flat tyname, Flat name) => Flat (VarDecl tyname name uni fun ann) Source # 
Instance details

Methods

encode :: VarDecl tyname name uni fun ann -> Encoding Source #

decode :: Get (VarDecl tyname name uni fun ann) Source #

size :: VarDecl tyname name uni fun ann -> NumBits -> NumBits Source #