Documentation

Lean.Elab.Util

Equations
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Two names are from the same lexical scope if their scoping information modulo MacroScopesView.name is equal.

      Equations
      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Instances For
            @[reducible, inline]
            Equations
            Instances For
              def Lean.Elab.getBetterRef (ref : Syntax) (macroStack : MacroStack) :

              If ref does not have position information, then try to use macroStack

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Lean.Elab.addMacroStack {m : TypeType} [Monad m] [MonadOptions m] (msgData : MessageData) (macroStack : MacroStack) :
                Equations
                Instances For
                  def Lean.Elab.syntaxNodeKindOfAttrParam (defaultParserNamespace : Name) (stx : Syntax) :
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[implemented_by _private.Lean.Elab.Util.0.Lean.Elab.evalSyntaxConstantUnsafe]
                    unsafe def Lean.Elab.mkElabAttribute (γ : Type) (attrBuiltinName attrName parserNamespace typeName : Name) (kind : String) (attrDeclName : Name := by exact decl_name%) :
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      @[implemented_by Lean.Elab.mkMacroAttributeUnsafe]

                      Registers a macro expander for a given syntax node kind.

                      A macro expander should have type Lean.Macro (which is Lean.SyntaxLean.MacroM Lean.Syntax), i.e. should take syntax of the given syntax node kind as a parameter and produce different syntax in the same syntax category.

                      The macro_rules and macro commands should usually be preferred over using this attribute directly.

                      Try to expand macro at syntax tree root and return macro declaration name and new syntax if successful. Return none if all macros threw Macro.Exception.unsupportedSyntax.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        Instances
                          @[always_inline]
                          Equations
                          • One or more equations did not get rendered due to their size.
                          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
                              partial def Lean.Elab.mkUnusedBaseName.loop (baseName currNamespace : Name) (idx : Nat) :
                              Equations
                              Instances For

                                If x throws an exception, catch it and turn it into a log message (using logException).

                                Equations
                                Instances For
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    def Lean.Elab.throwErrorWithNestedErrors {m : TypeType} {α : Type} [MonadError m] [Monad m] [MonadLog m] (msg : MessageData) (exs : Array Exception) :
                                    m α
                                    Equations
                                    • One or more equations did not get rendered due to their size.
                                    Instances For