- state : σ
- activeScopes : NameSet
Instances For
instance
Lean.ScopedEnvExtension.instInhabitedScopedEntries
{a✝ : Type}
:
Inhabited (ScopedEntries a✝)
Equations
- Lean.ScopedEnvExtension.instInhabitedScopedEntries = { default := { map := default } }
- scopedEntries : ScopedEntries β
Instances For
instance
Lean.ScopedEnvExtension.instInhabitedStateStack
{a✝ a✝¹ a✝² : Type}
:
Inhabited (StateStack a✝ a✝¹ a✝²)
Equations
- Lean.ScopedEnvExtension.instInhabitedStateStack = { default := { stateStack := default, scopedEntries := default, newEntries := default } }
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.ScopedEnvExtension.ScopedEntries.insert
{β : Type}
(scopedEntries : ScopedEntries β)
(ns : Name)
(b : β)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.ScopedEnvExtension.addImportedFn
{α β σ : Type}
(descr : Descr α β σ)
(as : Array (Array (Entry α)))
:
ImportM (StateStack α β σ)
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.ScopedEnvExtension.addEntryFn
{α β σ : Type}
(descr : Descr α β σ)
(s : StateStack α β σ)
(e : Entry β)
:
StateStack α β σ
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.ScopedEnvExtension.exportEntriesFn s = s.newEntries.toArray.reverse
Instances For
- descr : Descr α β σ
- ext : PersistentEnvExtension (Entry α) (Entry β) (StateStack α β σ)
Instances For
instance
Lean.instInhabitedScopedEnvExtension
{a✝ : Type}
[Inhabited a✝]
{a✝¹ a✝² : Type}
:
Inhabited (ScopedEnvExtension a✝ a✝¹ a✝²)
Equations
- Lean.instInhabitedScopedEnvExtension = { default := { descr := default, ext := default } }
unsafe def
Lean.registerScopedEnvExtensionUnsafe
{α β σ : Type}
(descr : ScopedEnvExtension.Descr α β σ)
:
IO (ScopedEnvExtension α β σ)
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[implemented_by Lean.registerScopedEnvExtensionUnsafe]
opaque
Lean.registerScopedEnvExtension
{α β σ : Type}
(descr : ScopedEnvExtension.Descr α β σ)
:
IO (ScopedEnvExtension α β σ)
def
Lean.ScopedEnvExtension.pushScope
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.ScopedEnvExtension.popScope
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.ScopedEnvExtension.addEntry
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
(b : β)
:
Equations
- ext.addEntry env b = ext.ext.addEntry env (Lean.ScopedEnvExtension.Entry.global b)
Instances For
def
Lean.ScopedEnvExtension.addScopedEntry
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
(namespaceName : 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 : ScopedEnvExtension α β σ)
(env : Environment)
(b : β)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.ScopedEnvExtension.addCore
{α β σ : Type}
(env : Environment)
(ext : ScopedEnvExtension α β σ)
(b : β)
(kind : AttributeKind)
(namespaceName : 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]
[MonadResolveName m]
[MonadEnv m]
(ext : ScopedEnvExtension α β σ)
(b : β)
(kind : AttributeKind := 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 : ScopedEnvExtension α β σ)
(env : Environment)
:
σ
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.ScopedEnvExtension.activateScoped
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
(namespaceName : Name)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.ScopedEnvExtension.modifyState
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
(f : σ → σ)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.pushScope
{m : Type → Type}
[Monad m]
[MonadEnv m]
[MonadLiftT (ST IO.RealWorld) m]
:
m Unit
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
def
Lean.activateScoped
{m : Type → Type}
[Monad m]
[MonadEnv m]
[MonadLiftT (ST IO.RealWorld) m]
(namespaceName : Name)
:
m Unit
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
Equations
Instances For
- name : Name
- addEntry : σ → α → σ
- initial : σ
- finalizeImport : σ → σ
Instances For
def
Lean.registerSimpleScopedEnvExtension
{α σ : Type}
(descr : SimpleScopedEnvExtension.Descr α σ)
:
IO (SimpleScopedEnvExtension α σ)
Equations
- One or more equations did not get rendered due to their size.