Documentation

Lean.Setup

structure Lean.Import :
  • module : Name
  • importAll : Bool

    import all; whether to import and expose all data saved by the module.

  • isExported : Bool

    Whether to activate this import when the current module itself is imported.

  • isMeta : Bool

    Whether to import IR for all definitions (transitively) reachable.

Instances For
    @[implicit_reducible]
    @[implicit_reducible]
    @[implicit_reducible]
    @[implicit_reducible]
    @[implicit_reducible]
    @[implicit_reducible]
    @[extern lean_idbg_client_loop]
    opaque Lean.Idbg.idbgClientLoop {α : Type} [Nonempty α] (siteId : String) (imports : Array Import) (apply : αString) :
    @[implicit_reducible]
    @[implicit_reducible]
    inductive Lean.IRPhases :

    Phases for which some IR is available for execution.

    • runtime : IRPhases

      Available for execution in the final native code.

    • comptime : IRPhases

      Available for execution during elaboration.

    • all : IRPhases

      Available during run time and compile time.

    Instances For
      @[implicit_reducible]
      @[implicit_reducible]
      @[implicit_reducible]

      Abstract structure of a module's header.

      • imports : Array Import

        The module's direct imports (i.e., those listed in the header).

      • isModule : Bool

        Whether the module is participating in the module system.

      Instances For
        @[implicit_reducible]
        @[implicit_reducible]

        Module data files used for an import statement. This structure is designed for efficient JSON serialization.

        Instances For

          Files containing data for a single module.

          Instances For
            structure Lean.Plugin :

            A Lean plugin. Plugins are shared libraries with an initialization function.

            • The path to the plugin's shared library.

            • initFn? : Option String

              The name of the plugin initialization function symbol. If none, the symbol is derived from the file name of the shared library.

            Instances For
              @[implicit_reducible]
              @[implicit_reducible]

              Constructs a plugin from just a shared library's path, inferring the name of the initialization function from the library's name.

              Instances For
                @[implicit_reducible]
                @[reducible, inline]

                The type of module package identifiers.

                This is a String that is used to disambiguate native symbol prefixes between different packages (and different versions of the same package).

                Instances For

                  A module's setup information as described by a JSON file.

                  • name : Name

                    The name of the module.

                  • package? : Option PkgId

                    The package to which the module belongs (if any).

                  • isModule : Bool

                    Whether the module, by default, participates in the module system. Even if false, a module can still choose to participate by using module in its header.

                  • imports? : Option (Array Import)

                    The module's direct imports. If none, uses the imports from the module header.

                  • Pre-resolved artifacts of transitively imported modules.

                  • Dynamic libraries to load with the module.

                  • plugins : Array Plugin

                    Plugins to initialize with the module.

                  • options : LeanOptions

                    Additional options for the module.

                  Instances For
                    @[implicit_reducible]
                    @[implicit_reducible]

                    Load a ModuleSetup from a JSON file.

                    Instances For