Documentation

Lake.Config.Monad

Lake Configuration Monads #

Definitions and helpers for interacting with the Lake configuration monads.

@[reducible, inline]
abbrev Lake.MonadLakeEnv (m : TypeType u) :

A monad equipped with a (read-only) detected environment for Lake.

Equations
@[reducible, inline]
abbrev Lake.LakeEnvT (m : TypeType u_1) (α : Type) :
Type u_1

A transformer to equip a monad with a Lake.Env.

Equations
@[inline]
def Lake.LakeEnvT.run {m : TypeType u_1} {α : Type} (env : Env) (self : LakeEnvT m α) :
m α
Equations
@[reducible, inline]
abbrev Lake.MonadLake (m : TypeType u) :

A monad equipped with a (read-only) Lake context.

Equations
@[inline]

Make a Lake.Context from a Workspace.

Equations
@[inline]
def Lake.Workspace.runLakeT {m : TypeType u_1} {α : Type} (ws : Workspace) (x : LakeT m α) :
m α

Run a LakeT monad in the context of this workspace.

Equations
@[inline]
Equations

Workspace Helpers #

@[inline]

Get the root package of the context's workspace.

Equations
@[inline]
def Lake.findPackage? {m : TypeType u_1} [MonadWorkspace m] [Functor m] (name : Lean.Name) :
m (Option (NPackage name))

Try to find a package within the workspace with the given name.

Equations
@[inline]
def Lake.findModule? {m : TypeType u_1} [MonadWorkspace m] [Functor m] (name : Lean.Name) :

Locate the named, buildable, importable, local module in the workspace.

Equations
@[inline]
def Lake.findLeanExe? {m : TypeType u_1} [MonadWorkspace m] [Functor m] (name : Lean.Name) :

Try to find a Lean executable in the workspace with the given name.

Equations
@[inline]
def Lake.findLeanLib? {m : TypeType u_1} [MonadWorkspace m] [Functor m] (name : Lean.Name) :

Try to find a Lean library in the workspace with the given name.

Equations
@[inline]

Try to find an external library in the workspace with the given name.

Equations
@[inline]

Get the paths added to LEAN_PATH by the context's workspace.

Equations
@[inline]

Get the paths added to LEAN_SRC_PATH by the context's workspace.

Equations
@[inline]

Get the paths added to the shared library path by the context's workspace.

Equations
@[inline]

Get the augmented LEAN_PATH set by the context's workspace.

Equations
@[inline]

Get the augmented LEAN_SRC_PATH set by the context's workspace.

Equations
@[inline]

Get the augmented shared library path set by the context's workspace.

Equations
@[inline]

Get the augmented environment variables set by the context's workspace.

Equations

Environment Helpers #

@[inline]
def Lake.getLakeEnv {m : TypeType u_1} [MonadLakeEnv m] :
m Env
Equations
@[inline]
def Lake.getNoCache {m : TypeType u_1} [MonadLakeEnv m] [Functor m] [MonadBuild m] :

Get the LAKE_NO_CACHE/--no-cache Lake configuration.

Equations
@[inline]
def Lake.getTryCache {m : TypeType u_1} [MonadLakeEnv m] [Functor m] [MonadBuild m] :

Get whether the LAKE_NO_CACHE/--no-cache Lake configuration is NOT set.

Equations
@[inline]

Get the LAKE_PACKAGE_URL_MAP for the Lake environment. Empty if none.

Equations
@[inline]

Get the name of Elan toolchain for the Lake environment. Empty if none.

Equations

Search Path Helpers #

@[inline]

Get the detected LEAN_PATH value of the Lake environment.

Equations
@[inline]

Get the detected LEAN_SRC_PATH value of the Lake environment.

Equations
@[inline]

Get the detected sharedLibPathEnvVar value of the Lake environment.

Equations

Elan Install Helpers #

@[inline]

Get the detected Elan installation (if one).

Equations
@[inline]

Get the root directory of the detected Elan installation (i.e., ELAN_HOME).

Equations
@[inline]

Get the path of the elan binary in the detected Elan installation.

Equations

Lean Install Helpers #

@[inline]

Get the detected Lean installation.

Equations
@[inline]

Get the root directory of the detected Lean installation.

Equations
@[inline]

Get the Lean source directory of the detected Lean installation.

Equations
@[inline]

Get the Lean library directory of the detected Lean installation.

Equations
@[inline]

Get the C include directory of the detected Lean installation.

Equations
@[inline]

Get the system library directory of the detected Lean installation.

Equations
@[inline]

Get the path of the lean binary in the detected Lean installation.

Equations
@[inline]

Get the path of the leanc binary in the detected Lean installation.

Equations
@[inline]

Get the path of the libleanshared library in the detected Lean installation.

Equations
@[inline]

Get the path of the ar binary in the detected Lean installation.

Equations
@[inline]

Get the path of C compiler in the detected Lean installation.

Equations
@[inline]
def Lake.getLeanCc? {m : TypeType u_1} [MonadLakeEnv m] [Functor m] :

Get the optional LEAN_CC compiler override of the detected Lean installation.

Equations

Lake Install Helpers #

@[inline]

Get the detected Lake installation.

Equations
@[inline]

Get the root directory of the detected Lake installation (e.g., LAKE_HOME).

Equations
@[inline]

Get the source directory of the detected Lake installation.

Equations
@[inline]

Get the Lean library directory of the detected Lake installation.

Equations
@[inline]

Get the path of the lake binary in the detected Lake installation.

Equations