Documentation

Lean.Elab.ConfigEval.Instances

Evaluator instances for built-in types #

Some of these instances are hand-written instead of being derived, since the syntax may be special, or they might make special assumptions on the type (e.g. for Bool, we assume the identifiers true and false always refer to Bool's constructors).

EvalTerm instances #

Instances For
    def Lean.Elab.ConfigEval.EvalTerm.evalListStx {α : Type} (typeExpr : Expr) (ev : TermTermElabM (α × Expr)) :
    Instances For
      Instances For
        def Lean.Elab.ConfigEval.EvalTerm.evalProdStx {α α' : Type} (typeExpr typeExpr' : Expr) (ev : TermTermElabM (α × Expr)) (ev' : TermTermElabM (α' × Expr)) :
        TermTermElabM ((α × α') × Expr)
        Instances For
          @[implicit_reducible]
          @[implicit_reducible]
          @[implicit_reducible]
          @[implicit_reducible]
          instance Lean.Elab.ConfigEval.EvalTerm.instProd {α α' : Type} [EvalTerm α] [EvalTerm α'] :
          EvalTerm (α × α')

          EvalExpr instances #

          Instances For
            Instances For
              partial def Lean.Elab.ConfigEval.EvalExpr.evalListExpr {α : Type} (ev : ExprMetaM α) (e : Expr) (didWHNF : Bool := false) :
              MetaM (List α)
              Instances For
                @[implicit_reducible]
                @[implicit_reducible]
                @[implicit_reducible]