Instances For
@[extern lean_get_max_ctor_scalars_size]
Instances For
Instances For
Instances For
- localCtx : LocalContext
- currentDecl : Decl
Instances For
@[reducible, inline]
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
- 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.
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 Lean.IR.Checker.throwCheckerError "unexpected type '{ty₁}' != '{ty₂}'"
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
- One or more equations did not get rendered due to their size.
Instances For
@[inline]
def
Lean.IR.Checker.checkVarType
(x : VarId)
(p : IRType → Bool)
(suffix? : 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.
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.pap f ys) = do Lean.IR.Checker.checkPartialApp f ys Lean.IR.Checker.checkObjType ty
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.ap x ys) = do Lean.IR.Checker.checkObjVar x Lean.IR.Checker.checkArgs ys Lean.IR.Checker.checkObjType ty
- 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) = do Lean.IR.Checker.checkObjVar x Lean.IR.Checker.checkObjType ty
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.reuse x i updtHeader ys) = do Lean.IR.Checker.checkObjVar x Lean.IR.Checker.checkArgs ys Lean.IR.Checker.checkObjType ty
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.box xty x) = do Lean.IR.Checker.checkObjType ty Lean.IR.Checker.checkScalarVar x Lean.IR.Checker.checkVarType x fun (x : Lean.IR.IRType) => x == xty
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.unbox x) = do Lean.IR.Checker.checkScalarType ty Lean.IR.Checker.checkObjVar x
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.uproj i x) = do Lean.IR.Checker.checkObjVar x Lean.IR.Checker.checkType ty fun (x : Lean.IR.IRType) => x == Lean.IR.IRType.usize
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.sproj n offset x) = do Lean.IR.Checker.checkObjVar x Lean.IR.Checker.checkScalarType ty
- Lean.IR.Checker.checkExpr ty (Lean.IR.Expr.isShared x) = do Lean.IR.Checker.checkObjVar x Lean.IR.Checker.checkType ty fun (x : Lean.IR.IRType) => x == 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
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
- Lean.IR.checkDecl decls decl = (Lean.IR.Checker.checkDecl decl { currentDecl := decl, decls := decls }).run' { }
Instances For
Equations
- Lean.IR.checkDecls decls = Array.forM (Lean.IR.checkDecl decls) decls