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

PlutusIR.Analysis.VarInfo

Synopsis

data TyVarInfo tyname name uni a #

Information about a type variable in the program.

Constructors

NormalTyVar

A normal type variable, which could be anything.

DatatypeTyVar (Datatype tyname name uni a)

A type variable corresponding to a datatype. Tells us the number of type variables and the constructors.

data VarInfo tyname name uni a #

Constructors

NormalVar Strictness (Type tyname uni a) (Arity)

A normal term variable, which could be anything. Tells us if it is strictly evaluated, its type, and possibly its arity.

DatatypeConstructor Int tyname

A term variable corresponding to a datatype constructor. Tells us the index of the constructor and the name of the datatype that owns it.

DatatypeMatcher tyname

A term variable corresponding to a datatype matcher. Tells us the name of the datatype that owns it.

varInfoStrictness :: VarInfo tyname name uni a -> Strictness #

varInfoArity :: Arity] #

Get the arities of the constructors for the given datatype name.