plutus-core-1.69.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

(==) ∷ AstSize → AstSize → Bool Source #

(/=) ∷ AstSize → AstSize → Bool Source #

Ord AstSize 
Instance details

Defined in PlutusCore.AstSize

Pretty AstSize 
Instance details

Defined in PlutusCore.AstSize

Methods

pretty ∷ AstSize → Doc ann Source #

prettyList ∷ [AstSize] → Doc ann Source #

PrettyBy config AstSize 
Instance details

Defined in PlutusCore.AstSize

Methods

prettyBy ∷ config → AstSize → Doc ann Source #

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

kindAstSize ∷ Kind 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 ∷ Type → Type) ann. Type tyname uni ann → AstSize Source #

Count the number of AST nodes in a type.

termAstSize ∷ Term tyname name uni fun ann → AstSize Source #

Count the number of AST nodes in a term.

termAstSizeErased ∷ Term tyname name uni fun ann → AstSize Source #

Count the number of AST nodes in a term, ignoring type and kind nodes.

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