Documentation

Lean.ScopedEnvExtension

Instances For
    Instances For
      Instances For
        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
                structure Lean.ScopedEnvExtension.Descr (α β σ : Type) :
                • name : Name
                • mkInitial : IO σ
                • ofOLeanEntry : σαImportM β
                • toOLeanEntry : βα
                • addEntry : σβσ
                • finalizeImport : σσ
                • exportEntry? : OLeanLevelαOption α
                Instances For
                  Equations
                    def Lean.ScopedEnvExtension.mkInitial {α β σ : Type} (descr : Descr α β σ) :
                    IO (StateStack α β σ)
                    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
                                        structure Lean.ScopedEnvExtension (α β σ : Type) :
                                        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 α β σ) :
                                                Equations
                                                  Instances For
                                                    @[implemented_by Lean.registerScopedEnvExtensionUnsafe]
                                                    opaque Lean.registerScopedEnvExtension {α β σ : Type} (descr : ScopedEnvExtension.Descr α β σ) :
                                                    Equations
                                                      Instances For
                                                        Equations
                                                          Instances For

                                                            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 : TypeType} {α β σ : Type} [Monad m] [MonadResolveName m] [MonadEnv m] (ext : ScopedEnvExtension α β σ) (b : β) (kind : AttributeKind := AttributeKind.global) :
                                                                                    Equations
                                                                                      Instances For
                                                                                        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
                                                                                                    Equations
                                                                                                      Instances For
                                                                                                        Equations
                                                                                                          Instances For

                                                                                                            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 : TypeType} [Monad m] [MonadEnv m] [MonadLiftT (ST IO.RealWorld) m] (namespaceName : Name) :
                                                                                                                Equations
                                                                                                                  Instances For
                                                                                                                    @[reducible, inline]
                                                                                                                    Equations
                                                                                                                      Instances For
                                                                                                                        • name : Name
                                                                                                                        • addEntry : σασ
                                                                                                                        • initial : σ
                                                                                                                        • finalizeImport : σσ
                                                                                                                        • exportEntry? : OLeanLevelαOption α
                                                                                                                        Instances For