- step: Lake.Name → Array Lean.IR.Decl → Lean.IR.LogEntry
- message: Lean.Format → Lean.IR.LogEntry
Instances For
Equations
- One or more equations did not get rendered due to their size.
- (Lean.IR.LogEntry.message msg).fmt = msg
Equations
- Lean.IR.LogEntry.instToFormat = { format := Lean.IR.LogEntry.fmt }
Equations
- One or more equations did not get rendered due to their size.
@[export lean_ir_log_to_string]
Equations
- log.toString = log.format.pretty
@[reducible, inline]
Equations
- Lean.IR.log entry = modify fun (s : Lean.IR.CompilerState) => { env := s.env, log := Array.push s.log entry }
Equations
- Lean.IR.tracePrefixOptionName = `trace.compiler.ir
@[inline]
Equations
- Lean.IR.logDecls cls decl = Lean.IR.logDeclsAux (Lean.IR.tracePrefixOptionName ++ cls) cls decl
@[inline]
Equations
@[inline]
@[inline]
Equations
- Lean.IR.modifyEnv f = modify fun (s : Lean.IR.CompilerState) => { env := f s.env, log := s.log }
@[reducible, inline]
Equations
@[export lean_ir_find_env_decl]
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.IR.findDecl n = do let __do_lift ← get pure (Lean.IR.findEnvDecl __do_lift.env n)
Equations
- Lean.IR.containsDecl n = do let __do_lift ← Lean.IR.findDecl n pure __do_lift.isSome
@[export lean_ir_add_decl]
Equations
- Lean.IR.addDeclAux env decl = Lean.PersistentEnvExtension.addEntry Lean.IR.declMapExt (env.addExtraName decl.name) decl
Equations
- Lean.IR.getDecls env = Lean.IR.declMapExt.getEntries env
Equations
- Lean.IR.getEnv = do let s ← get pure s.env
Equations
- Lean.IR.addDecl decl = Lean.IR.modifyEnv fun (env : Lean.Environment) => Lean.PersistentEnvExtension.addEntry Lean.IR.declMapExt (env.addExtraName decl.name) decl
Equations
- Lean.IR.addDecls decls = Array.forM Lean.IR.addDecl decls
Equations
- Lean.IR.findEnvDecl' env n decls = match decls.find? fun (decl : Lean.IR.Decl) => decl.name == n with | some decl => some decl | none => Lean.IR.findEnvDecl env n
Equations
- Lean.IR.findDecl' n decls = do let __do_lift ← get pure (Lean.IR.findEnvDecl' __do_lift.env n decls)
Equations
- Lean.IR.containsDecl' n decls = if (decls.any fun (decl : Lean.IR.Decl) => decl.name == n) = true then pure true else Lean.IR.containsDecl n
Equations
- One or more equations did not get rendered due to their size.
@[export lean_decl_get_sorry_dep]
Equations
- Lean.IR.getSorryDep env declName = match Lean.IR.findEnvDecl env declName with | some (Lean.IR.Decl.fdecl f xs type body { sorryDep? := dep? }) => dep? | x => none