A monad equipped with a (read-only) detected environment for Lake.
Equations
Instances For
Equations
- Lake.instMonadWorkspaceOfMonadReaderOfWorkspace = { getWorkspace := read }
Equations
- Lake.instMonadWorkspaceOfMonadStateOfWorkspace = { getWorkspace := get }
A monad equipped with a (read-only) Lake context.
Equations
Instances For
Constructs a Lake.Context from the workspace ws.
Equations
- Lake.mkLakeContext ws = { opaqueWs := Lake.OpaqueWorkspace.mk ws }
Instances For
Runs a LakeT monad in the context of the workspace ws.
Equations
- ws.runLakeT x = Lake.LakeT.run (Lake.mkLakeContext ws) x
Instances For
Equations
- Lake.instMonadLakeOfMonadWorkspaceOfFunctor = { read := (fun (x : Lake.Workspace) => Lake.mkLakeContext x) <$> Lake.getWorkspace }
Equations
- Lake.instMonadWorkspaceOfMonadLakeOfFunctor = { getWorkspace := (fun (x : Lake.Context) => x.workspace) <$> read }
Equations
- Lake.instMonadLakeEnvOfMonadWorkspaceOfFunctor = { read := (fun (x : Lake.Workspace) => x.lakeEnv) <$> Lake.getWorkspace }
Returns the root package of the context's workspace.
Equations
- Lake.getRootPackage = (fun (x : Lake.Workspace) => x.root) <$> Lake.getWorkspace
Instances For
Returns the unique package in the workspace (if any) that is identified by keyName.
Equations
- Lake.findPackageByKey? keyName = (fun (x : Lake.Workspace) => Lake.Workspace.findPackageByKey? keyName x) <$> Lake.getWorkspace
Instances For
Returns the first package in the workspace (if any) that has been assigned the name.
This can be used to find the package corresponding to a user-provided name. If the package's unique
identifier is already available, use findPackageByKey?instead.
Equations
- Lake.findPackageByName? name = (fun (x : Lake.Workspace) => Lake.Workspace.findPackageByName? name x) <$> Lake.getWorkspace
Instances For
Deprecated. If attempting to find the package corresponding to a user-provided name,
use findPackageByName?. Otherwise, if the package's
unique identifier is available, use findPackageByKey?.
Equations
- Lake.findPackage? name = Lake.findPackageByKey? name
Instances For
Locate the named, buildable, importable, local module in the workspace.
Equations
- Lake.findModule? name = (fun (x : Lake.Workspace) => Lake.Workspace.findModule? name x) <$> Lake.getWorkspace
Instances For
For each package in the workspace, locate the named, buildable, importable, local module.
Equations
- Lake.findModules name = (fun (x : Lake.Workspace) => Lake.Workspace.findModules name x) <$> Lake.getWorkspace
Instances For
Returns the buildable module in the workspace whose source file is path.
Equations
- Lake.findModuleBySrc? path = (fun (x : Lake.Workspace) => Lake.Workspace.findModuleBySrc? path x) <$> Lake.getWorkspace
Instances For
Try to find a Lean executable in the workspace with the given name.
Equations
- Lake.findLeanExe? name = (fun (x : Lake.Workspace) => Lake.Workspace.findLeanExe? name x) <$> Lake.getWorkspace
Instances For
Try to find a Lean library in the workspace with the given name.
Equations
- Lake.findLeanLib? name = (fun (x : Lake.Workspace) => Lake.Workspace.findLeanLib? name x) <$> Lake.getWorkspace
Instances For
Try to find an external library in the workspace with the given name.
Equations
- Lake.findExternLib? name = (fun (x : Lake.Workspace) => Lake.Workspace.findExternLib? name x) <$> Lake.getWorkspace
Instances For
Options to pass to the Lean server when editing Lean files outside a library.
Equations
- Lake.getServerOptions = (fun (x : Lake.Workspace) => x.serverOptions) <$> Lake.getWorkspace
Instances For
Options to pass to lean for files outside a library (e.g., via lake lean).
Equations
- Lake.getLeanOptions = (fun (x : Lake.Workspace) => x.leanOptions) <$> Lake.getWorkspace
Instances For
Arguments to pass to lean for files outside a library (e.g., via lake lean).
Equations
- Lake.getLeanArgs = (fun (x : Lake.Workspace) => x.leanArgs) <$> Lake.getWorkspace
Instances For
Returns the paths added to LEAN_PATH by the context's workspace.
Equations
- Lake.getLeanPath = (fun (x : Lake.Workspace) => x.leanPath) <$> Lake.getWorkspace
Instances For
Returns the paths added to LEAN_SRC_PATH by the context's workspace.
Equations
- Lake.getLeanSrcPath = (fun (x : Lake.Workspace) => x.leanSrcPath) <$> Lake.getWorkspace
Instances For
Returns the augmented LEAN_PATH set by the context's workspace.
Equations
- Lake.getAugmentedLeanPath = (fun (x : Lake.Workspace) => x.augmentedLeanPath) <$> Lake.getWorkspace
Instances For
Returns the augmented LEAN_SRC_PATH set by the context's workspace.
Equations
- Lake.getAugmentedLeanSrcPath = (fun (x : Lake.Workspace) => x.augmentedLeanSrcPath) <$> Lake.getWorkspace
Instances For
Returns the augmented environment variables set by the context's workspace.
Equations
- Lake.getAugmentedEnv = (fun (x : Lake.Workspace) => x.augmentedEnvVars) <$> Lake.getWorkspace
Instances For
Returns the Lake cache for the environment.
Equations
- Lake.getLakeCache = (fun (x : Lake.Workspace) => x.lakeCache) <$> Lake.getWorkspace
Instances For
Returns the artifact in the Lake cache corresponding the given artifact description.
Equations
- Lake.getArtifact? descr = do let x ← Lake.getLakeCache liftM (x.getArtifact? descr)
Instances For
Returns whether the package the artifact cache is enabled for the package.
If the package has not configured the artifact cache itself through
Package.enableArtifactCache?, this will default to the workspace configuration.
Equations
- self.isArtifactCacheEnabled = (fun (x : Lake.Workspace) => self.enableArtifactCache?.getD x.enableArtifactCache) <$> Lake.getWorkspace
Instances For
Gets the current Lake environment.
Equations
Instances For
Returns the LAKE_NO_CACHE/--no-cache Lake configuration.
Equations
- Lake.getNoCache = (fun (x : Lake.Env) => x.noCache) <$> Lake.getLakeEnv
Instances For
Returns whether the LAKE_NO_CACHE/--no-cache Lake configuration is NOT set.
Equations
- Lake.getTryCache = (fun (x : Lake.Env) => !x.noCache) <$> Lake.getLakeEnv
Instances For
Returns the LAKE_PACKAGE_URL_MAP for the Lake environment. Empty if none.
Equations
- Lake.getPkgUrlMap = (fun (x : Lake.Env) => x.pkgUrlMap) <$> Lake.getLakeEnv
Instances For
Returns the name of Elan toolchain for the Lake environment. Empty if none.
Equations
- Lake.getElanToolchain = (fun (x : Lake.Env) => x.toolchain) <$> Lake.getLakeEnv
Instances For
Returns the detected LEAN_PATH value of the Lake environment.
Equations
- Lake.getEnvLeanPath = (fun (x : Lake.Env) => x.leanPath) <$> Lake.getLakeEnv
Instances For
Returns the detected LEAN_SRC_PATH value of the Lake environment.
Equations
- Lake.getEnvLeanSrcPath = (fun (x : Lake.Env) => x.leanSrcPath) <$> Lake.getLakeEnv
Instances For
Returns the detected Elan installation (if one).
Equations
- Lake.getElanInstall? = (fun (x : Lake.Env) => x.elan?) <$> Lake.getLakeEnv
Instances For
Returns the root directory of the detected Elan installation (i.e., ELAN_HOME).
Equations
- Lake.getElanHome? = (fun (x : Option Lake.ElanInstall) => Option.map (fun (x : Lake.ElanInstall) => x.home) x) <$> Lake.getElanInstall?
Instances For
Returns the path of the elan binary in the detected Elan installation.
Equations
- Lake.getElan? = (fun (x : Option Lake.ElanInstall) => Option.map (fun (x : Lake.ElanInstall) => x.elan) x) <$> Lake.getElanInstall?
Instances For
Returns the detected Lean installation.
Equations
- Lake.getLeanInstall = (fun (x : Lake.Env) => x.lean) <$> Lake.getLakeEnv
Instances For
Returns the root directory of the detected Lean installation.
Equations
- Lake.getLeanSysroot = (fun (x : Lake.LeanInstall) => x.sysroot) <$> Lake.getLeanInstall
Instances For
Returns the Lean source directory of the detected Lean installation.
Equations
- Lake.getLeanSrcDir = (fun (x : Lake.LeanInstall) => x.srcDir) <$> Lake.getLeanInstall
Instances For
Returns the Lean library directory of the detected Lean installation.
Equations
- Lake.getLeanLibDir = (fun (x : Lake.LeanInstall) => x.leanLibDir) <$> Lake.getLeanInstall
Instances For
Returns the C include directory of the detected Lean installation.
Equations
- Lake.getLeanIncludeDir = (fun (x : Lake.LeanInstall) => x.includeDir) <$> Lake.getLeanInstall
Instances For
Returns the system library directory of the detected Lean installation.
Equations
- Lake.getLeanSystemLibDir = (fun (x : Lake.LeanInstall) => x.systemLibDir) <$> Lake.getLeanInstall
Instances For
Returns the path of the lean binary in the detected Lean installation.
Equations
- Lake.getLean = (fun (x : Lake.LeanInstall) => x.lean) <$> Lake.getLeanInstall
Instances For
Returns the path of the leanc binary in the detected Lean installation.
Equations
- Lake.getLeanc = (fun (x : Lake.LeanInstall) => x.leanc) <$> Lake.getLeanInstall
Instances For
Get the path of the ar binary in the detected Lean installation.
Equations
- Lake.getLeanAr = (fun (x : Lake.LeanInstall) => x.ar) <$> Lake.getLeanInstall
Instances For
Get the path of C compiler in the detected Lean installation.
Equations
- Lake.getLeanCc = (fun (x : Lake.LeanInstall) => x.cc) <$> Lake.getLeanInstall
Instances For
Get the optional LEAN_CC compiler override of the detected Lean installation.
Equations
- Lake.getLeanCc? = (fun (x : Lake.LeanInstall) => x.leanCc?) <$> Lake.getLeanInstall
Instances For
Get the detected Lake installation.
Equations
- Lake.getLakeInstall = (fun (x : Lake.Env) => x.lake) <$> Lake.getLakeEnv
Instances For
Get the root directory of the detected Lake installation (e.g., LAKE_HOME).
Equations
- Lake.getLakeHome = (fun (x : Lake.LakeInstall) => x.home) <$> Lake.getLakeInstall
Instances For
Get the source directory of the detected Lake installation.
Equations
- Lake.getLakeSrcDir = (fun (x : Lake.LakeInstall) => x.srcDir) <$> Lake.getLakeInstall
Instances For
Get the Lean library directory of the detected Lake installation.
Equations
- Lake.getLakeLibDir = (fun (x : Lake.LakeInstall) => x.libDir) <$> Lake.getLakeInstall
Instances For
Get the path of the lake binary in the detected Lake installation.
Equations
- Lake.getLake = (fun (x : Lake.LakeInstall) => x.lake) <$> Lake.getLakeInstall