- lib : Lake.LeanLib
- name : Lake.Name
- keyName : Lake.Name
The name of the module as a key. Used to create private modules (e.g., executable roots).
A buildable Lean module of a LeanLib
.
Instances For
Equations
- Lake.instHashableModule = { hash := fun m => hash m.keyName }
Equations
- Lake.instBEqModule = { beq := fun m n => m.keyName == n.keyName }
@[inline, reducible]
Equations
Instances For
@[inline, reducible]
Equations
Instances For
@[inline, reducible]
Equations
- Lake.ModuleMap α = Lean.RBMap Lake.Module α fun x x_1 => Lean.Name.quickCmp x.name x_1.name
Instances For
Locate the named module in the library (if it is buildable and local to it).
Equations
- Lake.LeanLib.findModule? mod self = if Lake.LeanLib.isBuildableModule mod self = true then some { lib := self, name := mod, keyName := mod } else none
Instances For
Get an Array
of the library's modules (as specified by its globs).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The library's buildable root modules.
Equations
- Lake.LeanLib.rootModules self = Array.filterMap (fun mod => Lake.LeanLib.findModule? mod self) self.config.roots 0 (Array.size self.config.roots)
Instances For
@[inline]
Equations
- Lake.Module.filePath dir ext self = Lean.modToFilePath dir self.name ext
Instances For
@[inline]
Equations
- Lake.Module.srcPath ext self = Lake.Module.filePath (Lake.LeanLib.srcDir self.lib) ext self
Instances For
@[inline]
Equations
- Lake.Module.leanLibPath ext self = Lake.Module.filePath (Lake.Package.leanLibDir (Lake.Module.pkg self)) ext self
Instances For
@[inline]
Equations
- Lake.Module.oleanFile self = Lake.Module.leanLibPath "olean" self
Instances For
@[inline]
Equations
- Lake.Module.ileanFile self = Lake.Module.leanLibPath "ilean" self
Instances For
@[inline]
Equations
- Lake.Module.traceFile self = Lake.Module.leanLibPath "trace" self
Instances For
@[inline]
Equations
- Lake.Module.irPath ext self = Lake.Module.filePath (Lake.Package.irDir (Lake.Module.pkg self)) ext self
Instances For
Suffix for single module dynlibs (e.g., for precompilation).
Equations
- Lake.Module.dynlibSuffix = "-1"
Instances For
@[inline]
Equations
- Lake.Module.dynlibName self = Lean.Name.toStringWithSep "-" true self.name ++ Lake.Module.dynlibSuffix
Instances For
@[inline]
Equations
- Lake.Module.dynlibFile self = Lake.Package.nativeLibDir (Lake.Module.pkg self) / { toString := Lake.nameToSharedLib (Lake.Module.dynlibName self) }
Instances For
@[inline]
Equations
- Lake.Module.weakLeancArgs self = Lake.LeanLib.weakLeancArgs self.lib
Instances For
@[inline]
Equations
- Lake.Module.shouldPrecompile self = Lake.LeanLib.precompileModules self.lib
Instances For
@[inline]
Equations
- Lake.Module.nativeFacets self = Lake.LeanLib.nativeFacets self.lib
Instances For
Trace Helpers #
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lake.Module.instGetMTimeModule = { getMTime := Lake.Module.getMTime }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lake.Module.instCheckExistsModule = { checkExists := Lake.Module.checkExists }