Documentation

Lean.Elab.Util

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

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

Equations
Equations
  • One or more equations did not get rendered due to their size.
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.
def Lean.Elab.addMacroStack {m : TypeType} [Monad m] [MonadOptions m] (msgData : MessageData) (macroStack : MacroStack) :
Equations
def Lean.Elab.syntaxNodeKindOfAttrParam (defaultParserNamespace : Name) (stx : Syntax) :
Equations
  • One or more equations did not get rendered due to their size.
@[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.
@[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.
@[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.
Equations
  • One or more equations did not get rendered due to their size.
partial def Lean.Elab.mkUnusedBaseName.loop (baseName currNamespace : Name) (idx : Nat) :
Equations

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

Equations
Equations
  • One or more equations did not get rendered due to their size.
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.