instance
Lean.ScopedEnvExtension.instInhabitedScopedEntries
{a✝ : Type}
:
Inhabited (ScopedEntries a✝)
Equations
Equations
Instances For
- scopedEntries : ScopedEntries β
Instances For
def
Lean.ScopedEnvExtension.instInhabitedStateStack.default
{a✝ a✝¹ a✝² : Type}
:
StateStack a✝ a✝¹ a✝²
Equations
Instances For
instance
Lean.ScopedEnvExtension.instInhabitedStateStack
{a✝ a✝¹ a✝² : Type}
:
Inhabited (StateStack a✝ a✝¹ a✝²)
Equations
- name : Name
- mkInitial : IO σ
- ofOLeanEntry : σ → α → ImportM β
- toOLeanEntry : β → α
- addEntry : σ → β → σ
- finalizeImport : σ → σ
- exportEntry? : OLeanLevel → α → Option α
Instances For
Equations
Instances For
def
Lean.ScopedEnvExtension.ScopedEntries.insert
{β : Type}
(scopedEntries : ScopedEntries β)
(ns : Name)
(b : β)
:
Equations
Instances For
def
Lean.ScopedEnvExtension.addImportedFn
{α β σ : Type}
(descr : Descr α β σ)
(as : Array (Array (Entry α)))
:
ImportM (StateStack α β σ)
Equations
Instances For
def
Lean.ScopedEnvExtension.addEntryFn
{α β σ : Type}
(descr : Descr α β σ)
(s : StateStack α β σ)
(e : Entry β)
:
StateStack α β σ
Equations
Instances For
def
Lean.ScopedEnvExtension.exportEntriesFn
{α β σ : Type}
(descr : Descr α β σ)
(level : OLeanLevel)
(s : StateStack α β σ)
:
Equations
Instances For
- descr : Descr α β σ
- ext : PersistentEnvExtension (Entry α) (Entry β) (StateStack α β σ)
Instances For
def
Lean.instInhabitedScopedEnvExtension.default
{a✝ : Type}
[Inhabited a✝]
{a✝¹ a✝² : Type}
:
ScopedEnvExtension a✝ a✝¹ a✝²
Equations
Instances For
instance
Lean.instInhabitedScopedEnvExtension
{a✝ : Type}
[Inhabited a✝]
{a✝¹ a✝² : Type}
:
Inhabited (ScopedEnvExtension a✝ a✝¹ a✝²)
Equations
unsafe def
Lean.registerScopedEnvExtensionUnsafe
{α β σ : Type}
(descr : ScopedEnvExtension.Descr α β σ)
:
IO (ScopedEnvExtension α β σ)
Equations
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
Instances For
def
Lean.ScopedEnvExtension.popScope
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
:
Equations
Instances For
def
Lean.ScopedEnvExtension.setDelimitsLocal
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
:
Modifies delimitsLocal flag to false to turn off delimiting of local entries.
Equations
Instances For
def
Lean.ScopedEnvExtension.addEntry
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
(b : β)
:
Equations
Instances For
def
Lean.ScopedEnvExtension.addScopedEntry
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
(namespaceName : Name)
(b : β)
:
Equations
Instances For
def
Lean.stateStackModify
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(states : List (ScopedEnvExtension.State σ))
(b : β)
:
The following function is used to implement end_local_scope command.
By default, all states have delimitsLocal set to true, and the following code modifies only the top element of the stack.
If the top element’s delimitsLocal is false, the function instead traverses down the stack until it reaches the first state where delimitsLocal is true.
Intuitively, delimitsLocal of each State determines whether local entries are delimited. When set to false, it allows traversal through implicit scopes where local entries are not delimited.
Equations
Instances For
def
Lean.ScopedEnvExtension.addLocalEntry
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
(b : β)
:
Equations
Instances For
def
Lean.ScopedEnvExtension.addCore
{α β σ : Type}
(env : Environment)
(ext : ScopedEnvExtension α β σ)
(b : β)
(kind : AttributeKind)
(namespaceName : Name)
:
Equations
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
Instances For
def
Lean.ScopedEnvExtension.getState
{σ α β : Type}
[Inhabited σ]
(ext : ScopedEnvExtension α β σ)
(env : Environment)
(asyncMode : EnvExtension.AsyncMode := ext.ext.toEnvExtension.asyncMode)
:
σ
Equations
Instances For
def
Lean.ScopedEnvExtension.activateScoped
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
(namespaceName : Name)
:
Equations
Instances For
def
Lean.ScopedEnvExtension.modifyState
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
(f : σ → σ)
:
Equations
Instances For
def
Lean.pushScope
{m : Type → Type}
[Monad m]
[MonadEnv m]
[MonadLiftT (ST IO.RealWorld) m]
:
m Unit
Equations
Instances For
Equations
Instances For
def
Lean.setDelimitsLocal
{m : Type → Type}
[Monad m]
[MonadEnv m]
[MonadLiftT (ST IO.RealWorld) m]
:
m Unit
Used to implement end_local_scope command, that disables delimiting local entries of ScopedEnvExtension in a current scope.
Equations
Instances For
def
Lean.activateScoped
{m : Type → Type}
[Monad m]
[MonadEnv m]
[MonadLiftT (ST IO.RealWorld) m]
(namespaceName : Name)
:
m Unit
Equations
Instances For
@[reducible, inline]
Equations
Instances For
- name : Name
- addEntry : σ → α → σ
- initial : σ
- finalizeImport : σ → σ
- exportEntry? : OLeanLevel → α → Option α
Instances For
def
Lean.registerSimpleScopedEnvExtension
{α σ : Type}
(descr : SimpleScopedEnvExtension.Descr α σ)
:
IO (SimpleScopedEnvExtension α σ)