Instances For
@[extern lean_get_max_ctor_scalars_size]
Instances For
Instances For
Instances For
- env : Lean.Environment
- localCtx : Lean.IR.LocalContext
- decls : Array Lean.IR.Decl
Instances For
@[reducible, inline]
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
@[inline]
Equations
- Lean.IR.Checker.checkEqTypes ty₁ ty₂ = if (ty₁ == ty₂) = true then pure PUnit.unit else throw "unexpected type '{ty₁}' != '{ty₂}'"
Instances For
@[inline]
def
Lean.IR.Checker.checkType
(ty : Lean.IR.IRType)
(p : Lean.IR.IRType → Bool)
(suffix? : optParam (Option String) none)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.IR.Checker.checkObjType ty = Lean.IR.Checker.checkType ty Lean.IR.IRType.isObj (some "object expected")
Instances For
Equations
- Lean.IR.Checker.checkScalarType ty = Lean.IR.Checker.checkType ty Lean.IR.IRType.isScalar (some "scalar expected")
Instances For
Equations
Instances For
@[inline]
def
Lean.IR.Checker.checkVarType
(x : Lean.IR.VarId)
(p : Lean.IR.IRType → Bool)
(suffix? : optParam (Option String) none)
:
Equations
- Lean.IR.Checker.checkVarType x p suffix? = do let ty ← Lean.IR.Checker.getType x Lean.IR.Checker.checkType ty p suffix?
Instances For
Equations
- Lean.IR.Checker.checkObjVar x = Lean.IR.Checker.checkVarType x Lean.IR.IRType.isObj (some "object expected")
Instances For
Equations
- Lean.IR.Checker.checkScalarVar x = Lean.IR.Checker.checkVarType x Lean.IR.IRType.isScalar (some "scalar expected")
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.pap f ys) = Lean.IR.Checker.checkPartialApp f ys *> Lean.IR.Checker.checkObjType ty
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.ap x_1 ys) = Lean.IR.Checker.checkObjVar x_1 *> Lean.IR.Checker.checkArgs ys
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.fap f ys) = Lean.IR.Checker.checkFullApp f ys
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.reset n x_1) = Lean.IR.Checker.checkObjVar x_1 *> Lean.IR.Checker.checkObjType ty
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.reuse x_1 i updtHeader ys) = Lean.IR.Checker.checkObjVar x_1 *> Lean.IR.Checker.checkArgs ys *> Lean.IR.Checker.checkObjType ty
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.unbox x_1) = Lean.IR.Checker.checkScalarType ty *> Lean.IR.Checker.checkObjVar x_1
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.uproj i x_1) = Lean.IR.Checker.checkObjVar x_1 *> Lean.IR.Checker.checkType ty fun (t : Lean.IR.IRType) => t == Lean.IR.IRType.usize
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.sproj n offset x_1) = Lean.IR.Checker.checkObjVar x_1 *> Lean.IR.Checker.checkScalarType ty
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.isShared x_1) = Lean.IR.Checker.checkObjVar x_1 *> Lean.IR.Checker.checkType ty fun (t : Lean.IR.IRType) => t == Lean.IR.IRType.uint8
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.lit (Lean.IR.LitVal.str v)) = Lean.IR.Checker.checkObjType ty
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.lit v) = pure ()
Instances For
@[inline]
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.IR.Checker.checkDecl (Lean.IR.Decl.fdecl f xs type b info) = Lean.IR.Checker.withParams xs (Lean.IR.Checker.checkFnBody b)
- Lean.IR.Checker.checkDecl (Lean.IR.Decl.extern f xs type ext) = Lean.IR.Checker.withParams xs (pure ())
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.IR.checkDecls decls = Array.forM (Lean.IR.checkDecl decls) decls