instance
Lean.ScopedEnvExtension.instInhabitedScopedEntries
{a✝ : Type}
:
Inhabited (ScopedEntries a✝)
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✝²)
- name : Name
- mkInitial : IO σ
- ofOLeanEntry : σ → α → ImportM β
- toOLeanEntry : β → α
- addEntry : σ → β → σ
- finalizeImport : σ → σ
- exportEntry? : OLeanLevel → α → Option α
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
def
Lean.ScopedEnvExtension.exportEntriesFn
{α β σ : Type}
(descr : Descr α β σ)
(level : OLeanLevel)
(s : StateStack α β σ)
:
Equations
- One or more equations did not get rendered due to their size.
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✝²
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
- 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.setDelimitsLocal
{α β σ : Type}
(ext : ScopedEnvExtension α β σ)
(env : Environment)
:
Modifies delimitsLocal flag to false to turn off delimiting of local entries.
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.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
- 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)
(asyncMode : EnvExtension.AsyncMode := ext.ext.toEnvExtension.asyncMode)
:
σ
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.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
- 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 : σ → σ
- exportEntry? : OLeanLevel → α → Option α
Instances For
def
Lean.registerSimpleScopedEnvExtension
{α σ : Type}
(descr : SimpleScopedEnvExtension.Descr α σ)
:
IO (SimpleScopedEnvExtension α σ)
Equations
- One or more equations did not get rendered due to their size.