chore: remove mkCApp* functions
This commit is contained in:
parent
ad54d8e024
commit
dacf69b2f0
5 changed files with 6 additions and 13 deletions
|
|
@ -123,7 +123,7 @@ match attrParamSyntaxToIdentifier arg with
|
|||
def declareBuiltinElab (env : Environment) (addFn : Name) (kind : SyntaxNodeKind) (declName : Name) : IO Environment :=
|
||||
let name := `_regBuiltinTermElab ++ declName;
|
||||
let type := mkApp (mkConst `IO) (mkConst `Unit);
|
||||
let val := mkCAppN addFn #[toExpr kind, toExpr declName, mkConst declName];
|
||||
let val := mkAppN (mkConst addFn) #[toExpr kind, toExpr declName, mkConst declName];
|
||||
let decl := Declaration.defnDecl { name := name, lparams := [], type := type, value := val, hints := ReducibilityHints.opaque, isUnsafe := false };
|
||||
match env.addAndCompile {} decl with
|
||||
-- TODO: pretty print error
|
||||
|
|
|
|||
|
|
@ -330,9 +330,6 @@ Expr.localE x u t $ mkDataForBinder (mixHash 43 $ hash t) t.looseBVarRange true
|
|||
@[export lean_expr_mk_proj] def mkProjEx : Name → Nat → Expr → Expr := mkProj
|
||||
@[export lean_expr_mk_local] def mkLocalEx : Name → Name → Expr → BinderInfo → Expr := mkLocal
|
||||
|
||||
def mkCApp (f : Name) (a : Expr) : Expr :=
|
||||
mkApp (mkConst f) a
|
||||
|
||||
def mkAppN (f : Expr) (args : Array Expr) : Expr :=
|
||||
args.foldl mkApp f
|
||||
|
||||
|
|
@ -583,9 +580,6 @@ instance : HasRepr Expr :=
|
|||
|
||||
end Expr
|
||||
|
||||
def mkCAppN (n : Name) (args : Array Expr) : Expr :=
|
||||
mkAppN (mkConst n) args
|
||||
|
||||
def mkAppB (f a b : Expr) := mkApp (mkApp f a) b
|
||||
def mkApp2 (f a b : Expr) := mkAppB f a b
|
||||
def mkApp3 (f a b c : Expr) := mkApp (mkAppB f a b) c
|
||||
|
|
@ -597,7 +591,6 @@ def mkApp8 (f a b c d e₁ e₂ e₃ e₄ : Expr) := mkApp4 (mkApp4 f a b c d) e
|
|||
def mkApp9 (f a b c d e₁ e₂ e₃ e₄ e₅ : Expr) := mkApp5 (mkApp4 f a b c d) e₁ e₂ e₃ e₄ e₅
|
||||
def mkApp10 (f a b c d e₁ e₂ e₃ e₄ e₅ e₆ : Expr) := mkApp6 (mkApp4 f a b c d) e₁ e₂ e₃ e₄ e₅ e₆
|
||||
|
||||
def mkCAppB (n : Name) (a b : Expr) := mkAppB (mkConst n) a b
|
||||
def mkDecIsTrue (pred proof : Expr) :=
|
||||
mkAppB (mkConst `Decidable.isTrue) pred proof
|
||||
|
||||
|
|
|
|||
|
|
@ -95,8 +95,8 @@ match isOffset s with
|
|||
| some (s, k₁) => match isOffset t with
|
||||
| some (t, k₂) => -- s+k₁ =?= t+k₂
|
||||
if k₁ == k₂ then isDefEq s t
|
||||
else if k₁ < k₂ then isDefEq s (mkCAppB `Nat.add t (mkNatLit $ k₂ - k₁))
|
||||
else isDefEq (mkCAppB `Nat.add s (mkNatLit $ k₁ - k₂)) t
|
||||
else if k₁ < k₂ then isDefEq s (mkAppB (mkConst `Nat.add) t (mkNatLit $ k₂ - k₁))
|
||||
else isDefEq (mkAppB (mkConst `Nat.add) s (mkNatLit $ k₁ - k₂)) t
|
||||
| none => match evalNat t with
|
||||
| some v₂ => -- s+k₁ =?= v₂
|
||||
if v₂ ≥ k₁ then isDefEq s (mkNatLit $ v₂ - k₁) else pure LBool.false
|
||||
|
|
|
|||
|
|
@ -1443,7 +1443,7 @@ do tables ← tablesRef.get;
|
|||
def declareBuiltinParser (env : Environment) (addFnName : Name) (refDeclName : Name) (declName : Name) : IO Environment :=
|
||||
let name := `_regBuiltinParser ++ declName;
|
||||
let type := mkApp (mkConst `IO) (mkConst `Unit);
|
||||
let val := mkCAppN addFnName #[mkConst refDeclName, toExpr declName, mkConst declName];
|
||||
let val := mkAppN (mkConst addFnName) #[mkConst refDeclName, toExpr declName, mkConst declName];
|
||||
let decl := Declaration.defnDecl { name := name, lparams := [], type := type, value := val, hints := ReducibilityHints.opaque, isUnsafe := false };
|
||||
match env.addAndCompile {} decl with
|
||||
-- TODO: pretty print error
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ instance strToExpr : ToExpr String := ⟨mkStrLit⟩
|
|||
|
||||
def nameToExprAux : Name → Expr
|
||||
| Name.anonymous => mkConst `Lean.Name.anonymous
|
||||
| Name.str p s _ => mkCAppB `Lean.mkNameStr (nameToExprAux p) (toExpr s)
|
||||
| Name.num p n _ => mkCAppB `Lean.mkNameNum (nameToExprAux p) (toExpr n)
|
||||
| Name.str p s _ => mkAppB (mkConst `Lean.mkNameStr) (nameToExprAux p) (toExpr s)
|
||||
| Name.num p n _ => mkAppB (mkConst `Lean.mkNameNum) (nameToExprAux p) (toExpr n)
|
||||
|
||||
instance nameToExpr : ToExpr Name := ⟨nameToExprAux⟩
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue