- global: {α : Type} → α → Lean.ScopedEnvExtension.Entry α
- scoped: {α : Type} → Lean.Name → α → Lean.ScopedEnvExtension.Entry α
- map : Lean.SMap Lean.Name (Std.PArray β)
instance
Lean.ScopedEnvExtension.instInhabitedScopedEntries:
{a : Type} → Inhabited (Lean.ScopedEnvExtension.ScopedEntries a)
Equations
- Lean.ScopedEnvExtension.instInhabitedScopedEntries = { default := { map := default } }
- stateStack : List (Lean.ScopedEnvExtension.State σ)
- scopedEntries : Lean.ScopedEnvExtension.ScopedEntries β
- newEntries : List (Lean.ScopedEnvExtension.Entry α)
instance
Lean.ScopedEnvExtension.instInhabitedStateStack:
{a a_1 a_2 : Type} → Inhabited (Lean.ScopedEnvExtension.StateStack a a_1 a_2)
Equations
- Lean.ScopedEnvExtension.instInhabitedStateStack = { default := { stateStack := default, scopedEntries := default, newEntries := default } }
- name : Lean.Name
- mkInitial : IO σ
- ofOLeanEntry : σ → α → Lean.ImportM β
- toOLeanEntry : β → α
- addEntry : σ → β → σ
- finalizeImport : σ → σ
instance
Lean.ScopedEnvExtension.instInhabitedDescr
{α : Type}
{β : Type}
{σ : Type}
[inst : Inhabited α]
:
Equations
- One or more equations did not get rendered due to their size.
def
Lean.ScopedEnvExtension.mkInitial
{α : Type}
{β : Type}
{σ : Type}
(descr : Lean.ScopedEnvExtension.Descr α β σ)
:
IO (Lean.ScopedEnvExtension.StateStack α β σ)
Equations
- One or more equations did not get rendered due to their size.
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.
def
Lean.ScopedEnvExtension.addImportedFn
{α : Type}
{β : Type}
{σ : Type}
(descr : Lean.ScopedEnvExtension.Descr α β σ)
(as : Array (Array (Lean.ScopedEnvExtension.Entry α)))
:
Equations
- One or more equations did not get rendered due to their size.
def
Lean.ScopedEnvExtension.addEntryFn
{α : Type}
{β : Type}
{σ : 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.
def
Lean.ScopedEnvExtension.exportEntriesFn
{α : Type}
{β : Type}
{σ : Type}
(s : Lean.ScopedEnvExtension.StateStack α β σ)
:
Equations
- Lean.ScopedEnvExtension.exportEntriesFn s = Array.reverse (List.toArray s.newEntries)
- descr : Lean.ScopedEnvExtension.Descr α β σ
instance
Lean.instInhabitedScopedEnvExtension:
{a : Type} → [inst : Inhabited a] → {a_1 a_2 : Type} → Inhabited (Lean.ScopedEnvExtension a a_1 a_2)
Equations
- Lean.instInhabitedScopedEnvExtension = { default := { descr := default, ext := default } }
unsafe def
Lean.registerScopedEnvExtensionUnsafe
{α : Type}
{β : Type}
{σ : Type}
(descr : Lean.ScopedEnvExtension.Descr α β σ)
:
IO (Lean.ScopedEnvExtension α β σ)
Equations
- One or more equations did not get rendered due to their size.
@[implementedBy Lean.registerScopedEnvExtensionUnsafe]
opaque
Lean.registerScopedEnvExtension
{α : Type}
{β : Type}
{σ : Type}
(descr : Lean.ScopedEnvExtension.Descr α β σ)
:
IO (Lean.ScopedEnvExtension α β σ)
def
Lean.ScopedEnvExtension.pushScope
{α : Type}
{β : Type}
{σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
:
Equations
- One or more equations did not get rendered due to their size.
def
Lean.ScopedEnvExtension.popScope
{α : Type}
{β : Type}
{σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
:
Equations
- One or more equations did not get rendered due to their size.
def
Lean.ScopedEnvExtension.addEntry
{α : Type}
{β : Type}
{σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
(b : β)
:
Equations
- Lean.ScopedEnvExtension.addEntry ext env b = Lean.PersistentEnvExtension.addEntry ext.ext env (Lean.ScopedEnvExtension.Entry.global b)
def
Lean.ScopedEnvExtension.addScopedEntry
{α : Type}
{β : Type}
{σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
(namespaceName : Lean.Name)
(b : β)
:
Equations
- Lean.ScopedEnvExtension.addScopedEntry ext env namespaceName b = Lean.PersistentEnvExtension.addEntry ext.ext env (Lean.ScopedEnvExtension.Entry.scoped namespaceName b)
def
Lean.ScopedEnvExtension.addLocalEntry
{α : Type}
{β : Type}
{σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
(b : β)
:
Equations
- One or more equations did not get rendered due to their size.
def
Lean.ScopedEnvExtension.add
{m : Type → Type}
{α : Type}
{β : Type}
{σ : Type}
[inst : Monad m]
[inst : Lean.MonadResolveName m]
[inst : Lean.MonadEnv m]
(ext : Lean.ScopedEnvExtension α β σ)
(b : β)
(kind : optParam Lean.AttributeKind Lean.AttributeKind.global)
:
m Unit
Equations
- One or more equations did not get rendered due to their size.
def
Lean.ScopedEnvExtension.getState
{σ : Type}
{α : Type}
{β : Type}
[inst : Inhabited σ]
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
:
σ
Equations
- One or more equations did not get rendered due to their size.
def
Lean.ScopedEnvExtension.activateScoped
{α : Type}
{β : Type}
{σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
(namespaceName : Lean.Name)
:
Equations
- One or more equations did not get rendered due to their size.
def
Lean.ScopedEnvExtension.modifyState
{α : Type}
{β : Type}
{σ : Type}
(ext : Lean.ScopedEnvExtension α β σ)
(env : Lean.Environment)
(f : σ → σ)
:
Equations
- One or more equations did not get rendered due to their size.
def
Lean.pushScope
{m : Type → Type}
[inst : Monad m]
[inst : Lean.MonadEnv m]
[inst : MonadLiftT (ST IO.RealWorld) m]
:
m Unit
Equations
- One or more equations did not get rendered due to their size.
def
Lean.popScope
{m : Type → Type}
[inst : Monad m]
[inst : Lean.MonadEnv m]
[inst : MonadLiftT (ST IO.RealWorld) m]
:
m Unit
Equations
- One or more equations did not get rendered due to their size.
def
Lean.activateScoped
{m : Type → Type}
[inst : Monad m]
[inst : Lean.MonadEnv m]
[inst : MonadLiftT (ST IO.RealWorld) m]
(namespaceName : Lean.Name)
:
m Unit
Equations
- One or more equations did not get rendered due to their size.
@[inline]
Equations
- name : Lean.Name
- addEntry : σ → α → σ
- initial : σ
- finalizeImport : σ → σ
def
Lean.registerSimpleScopedEnvExtension
{α : Type}
{σ : Type}
(descr : Lean.SimpleScopedEnvExtension.Descr α σ)
:
Equations
- One or more equations did not get rendered due to their size.