- global: {α : Type} → α → Lean.ScopedEnvExtension.Entry α
- scoped: {α : Type} → Lean.Name → α → Lean.ScopedEnvExtension.Entry α
Instances For
- state : σ
- activeScopes : Lean.NameSet
Instances For
- map : Lean.SMap Lean.Name (Lean.PArray β)
Instances For
Equations
- Lean.ScopedEnvExtension.instInhabitedScopedEntries = { default := { map := default } }
- stateStack : List (Lean.ScopedEnvExtension.State σ)
- scopedEntries : Lean.ScopedEnvExtension.ScopedEntries β
- newEntries : List (Lean.ScopedEnvExtension.Entry α)
Instances For
instance
Lean.ScopedEnvExtension.instInhabitedStateStack
{a✝ a✝¹ a✝² : Type}
:
Inhabited (Lean.ScopedEnvExtension.StateStack a✝ a✝¹ a✝²)
- name : Lean.Name
- mkInitial : IO σ
- ofOLeanEntry : σ → α → Lean.ImportM β
- toOLeanEntry : β → α
- addEntry : σ → β → σ
- finalizeImport : σ → σ
Instances For
Equations
- One or more equations did not get rendered due to their size.
def
Lean.ScopedEnvExtension.mkInitial
{α β σ : Type}
(descr : Lean.ScopedEnvExtension.Descr α β σ)
:
IO (Lean.ScopedEnvExtension.StateStack α β σ)
Instances For
def
Lean.ScopedEnvExtension.ScopedEntries.insert
{β : Type}
(scopedEntries : Lean.ScopedEnvExtension.ScopedEntries β)
(ns : Lean.Name)
(b : β)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.ScopedEnvExtension.addImportedFn
{α β σ : Type}
(descr : Lean.ScopedEnvExtension.Descr α β σ)
(as : Array (Array (Lean.ScopedEnvExtension.Entry α)))
:
Instances For
def
Lean.ScopedEnvExtension.addEntryFn
{α β σ : Type}
(descr : Lean.ScopedEnvExtension.Descr α β σ)
(s : Lean.ScopedEnvExtension.StateStack α β σ)
(e : Lean.ScopedEnvExtension.Entry β)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.ScopedEnvExtension.exportEntriesFn
{α β σ : Type}
(s : Lean.ScopedEnvExtension.StateStack α β σ)
:
Equations
- Lean.ScopedEnvExtension.exportEntriesFn s = s.newEntries.toArray.reverse
Instances For
- descr : Lean.ScopedEnvExtension.Descr α β σ
Instances For
instance
Lean.instInhabitedScopedEnvExtension
{a✝ : Type}
[Inhabited a✝]
{a✝¹ a✝² : Type}
:
Inhabited (Lean.ScopedEnvExtension a✝ a✝¹ a✝²)
Equations
- Lean.instInhabitedScopedEnvExtension = { default := { descr := default, ext := default } }
unsafe def
Lean.registerScopedEnvExtensionUnsafe
{α β σ : Type}
(descr : Lean.ScopedEnvExtension.Descr α β σ)
:
IO (Lean.ScopedEnvExtension α β σ)
Instances For
@[implemented_by Lean.registerScopedEnvExtensionUnsafe]
opaque
Lean.registerScopedEnvExtension
{α β σ : Type}
(descr : Lean.ScopedEnvExtension.Descr α β σ)
:
IO (Lean.ScopedEnvExtension α β σ)
def
Lean.ScopedEnvExtension.pushScope
{α β σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
:
Instances For
def
Lean.ScopedEnvExtension.popScope
{α β σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.ScopedEnvExtension.addEntry
{α β σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
(b : β)
:
Instances For
def
Lean.ScopedEnvExtension.addScopedEntry
{α β σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
(namespaceName : Lean.Name)
(b : β)
:
Equations
- ext.addScopedEntry env namespaceName b = ext.ext.addEntry env (Lean.ScopedEnvExtension.Entry.scoped namespaceName b)
Instances For
def
Lean.ScopedEnvExtension.addLocalEntry
{α β σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
(b : β)
:
Instances For
def
Lean.ScopedEnvExtension.addCore
{α β σ : Type}
(env : Lean.Environment)
(ext : Lean.ScopedEnvExtension α β σ)
(b : β)
(kind : Lean.AttributeKind)
(namespaceName : Lean.Name)
:
Equations
- Lean.ScopedEnvExtension.addCore env ext b Lean.AttributeKind.global namespaceName = ext.addEntry env b
- Lean.ScopedEnvExtension.addCore env ext b Lean.AttributeKind.local namespaceName = ext.addLocalEntry env b
- Lean.ScopedEnvExtension.addCore env ext b Lean.AttributeKind.scoped namespaceName = ext.addScopedEntry env namespaceName b
Instances For
def
Lean.ScopedEnvExtension.add
{m : Type → Type}
{α β σ : Type}
[Monad m]
[Lean.MonadResolveName m]
[Lean.MonadEnv m]
(ext : Lean.ScopedEnvExtension α β σ)
(b : β)
(kind : Lean.AttributeKind := Lean.AttributeKind.global)
:
m Unit
Equations
- ext.add b kind = do let ns ← Lean.getCurrNamespace Lean.modifyEnv fun (x : Lean.Environment) => Lean.ScopedEnvExtension.addCore x ext b kind ns
Instances For
def
Lean.ScopedEnvExtension.getState
{σ α β : Type}
[Inhabited σ]
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
:
σ
Instances For
def
Lean.ScopedEnvExtension.activateScoped
{α β σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
(namespaceName : Lean.Name)
:
Instances For
def
Lean.ScopedEnvExtension.modifyState
{α β σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
(f : σ → σ)
:
Instances For
def
Lean.pushScope
{m : Type → Type}
[Monad m]
[Lean.MonadEnv m]
[MonadLiftT (ST IO.RealWorld) m]
:
m Unit
Instances For
def
Lean.popScope
{m : Type → Type}
[Monad m]
[Lean.MonadEnv m]
[MonadLiftT (ST IO.RealWorld) m]
:
m Unit
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.activateScoped
{m : Type → Type}
[Monad m]
[Lean.MonadEnv m]
[MonadLiftT (ST IO.RealWorld) m]
(namespaceName : Lean.Name)
:
m Unit
Equations
- One or more equations did not get rendered due to their size.
Instances For
- name : Lean.Name
- addEntry : σ → α → σ
- initial : σ
- finalizeImport : σ → σ
Instances For
def
Lean.registerSimpleScopedEnvExtension
{α σ : Type}
(descr : Lean.SimpleScopedEnvExtension.Descr α σ)
:
Equations
- One or more equations did not get rendered due to their size.