| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
PlutusIR.Analysis.VarInfo
Synopsis
- data VarsInfo tyname name uni a = VarsInfo {
- termVarInfoMap :: TypeUnique => tyname -> VarsInfo tyname name uni a -> Maybe (TyVarInfo tyname name uni a) #
Lookup the
TyVarInfofor atyname.
- termVarInfoMap :: TypeUnique => tyname -> VarsInfo tyname name uni a -> Maybe (TyVarInfo tyname name uni a) #
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.