plutus-core-1.54.0.0: Language library for Plutus Core
Safe HaskellSafe-Inferred
LanguageHaskell2010

PlutusIR.AstSize

Synopsis

Documentation

newtype AstSize Source #

Constructors

AstSize 

Fields

Instances

Instances details
Monoid AstSize 
Instance details

Defined in PlutusCore.AstSize

Semigroup AstSize 
Instance details

Defined in PlutusCore.AstSize

Num AstSize 
Instance details

Defined in PlutusCore.AstSize

Show AstSize 
Instance details

Defined in PlutusCore.AstSize

Eq AstSize 
Instance details

Defined in PlutusCore.AstSize

Methods

(==)AstSizeAstSizeBool Source #

(/=)AstSizeAstSizeBool Source #

Ord AstSize 
Instance details

Defined in PlutusCore.AstSize

Pretty AstSize 
Instance details

Defined in PlutusCore.AstSize

Methods

prettyAstSizeDoc ann Source #

prettyList ∷ [AstSize] → Doc ann Source #

PrettyBy config AstSize 
Instance details

Defined in PlutusCore.AstSize

Methods

prettyBy ∷ config → AstSizeDoc ann Source #

prettyListBy ∷ config → [AstSize] → Doc ann Source #

kindAstSizeKind a → AstSize Source #

Count the number of AST nodes in a kind.

>>> kindAstSize $ Type ()
AstSize {unAstSize = 1}
>>> kindAstSize $ KindArrow () (KindArrow () (Type ()) (Type ())) (Type ())
AstSize {unAstSize = 5}

typeAstSize ∷ ∀ tyname (uni ∷ TypeType) ann. Type tyname uni ann → AstSize Source #

Count the number of AST nodes in a type.

termAstSizeTerm tyname name uni fun ann → AstSize Source #

Count the number of AST nodes in a term.

varDeclAstSize ∷ ∀ tyname name (uni ∷ TypeType) ann. VarDecl tyname name uni ann → AstSize Source #