Information on what this job did.
- unknown: Lake.JobAction
No information about this job's action is available.
- replay: Lake.JobAction
Tried to replay a cached build action (set by
buildFileUnlessUpToDate
) - fetch: Lake.JobAction
Tried to fetch a build from a store (can be set by
buildUnlessUpToDate?
) - build: Lake.JobAction
Tried to perform a build action (set by
buildUnlessUpToDate?
)
Instances For
Equations
- Lake.instOrdJobAction = { compare := Lake.ordJobAction✝ }
Mutable state of a Lake job.
- log : Lake.Log
The job's log.
- action : Lake.JobAction
Tracks whether this job performed any significant build action.
Instances For
Equations
- Lake.instInhabitedJobState = { default := { log := default, action := default } }
Resets the job state after a checkpoint (e.g., registering the job). Preserves state that downstream jobs want to depend on while resetting job-local state that should not be inherited by downstream jobs.
Instances For
Instances For
Equations
- Lake.JobState.modifyLog f s = { log := f s.log, action := s.action }
Instances For
The result of a Lake job.
Instances For
Equations
- Lake.instMonadStateOfJobStateJobM = inferInstance
Equations
- Lake.instMonadErrorJobM = Lake.ELog.monadError
Equations
- Lake.instMonadLiftLogIOJobM = { monadLift := fun {α : Type} => Lake.ELogT.takeAndRun }
Record that this job is trying to perform some action.
Equations
- Lake.updateAction action = modify fun (s : Lake.JobState) => { log := s.log, action := s.action.merge action }
Instances For
The monad used to spawn asynchronous Lake build jobs. Lifts into FetchM
.
Equations
Instances For
The monad used to spawn asynchronous Lake build jobs. Replaced by SpawnM
.
Equations
Instances For
- Result : Type u
- task : Lake.JobTask self.Result
Instances For
Equations
- Lake.instCoeOutJobTaskBundledJobTask = { coe := Lake.BundledJobTask.mk }
Equations
- Lake.OpaqueJobTask.instInhabitedOfBundledJobTask = { default := Lake.OpaqueJobTask.mk default }
Instances For
Instances For
Equations
- job.toJob = { task := job.task, caption := job.caption, optional := job.optional }
Instances For
Equations
- Lake.Job.ofTask task caption = { task := task, caption := caption, optional := false }
Instances For
Equations
- Lake.Job.error log caption = { task := { get := Lake.EResult.error 0 { log := log, action := Lake.JobAction.unknown } }, caption := caption, optional := false }
Instances For
Equations
- Lake.Job.pure a log caption = { task := { get := Lake.EResult.ok a { log := log, action := Lake.JobAction.unknown } }, caption := caption, optional := false }
Instances For
Sets the job's caption if the job's current caption is empty.
Equations
- Lake.Job.setCaption? caption job = if job.caption.isEmpty = true then { task := job.task, caption := caption, optional := job.optional } else job
Instances For
Equations
- Lake.Job.mapResult f self prio sync = { task := Task.map f self.task prio sync, caption := self.caption, optional := self.optional }
Instances For
Instances For
Equations
- Lake.Job.map f self prio sync = Lake.Job.mapResult (fun (x : Lake.JobResult α) => Lake.EResult.map f x) self prio sync
Instances For
Equations
- One or more equations did not get rendered due to their size.
Resets the job's state after a checkpoint (e.g., registering the job). Preserves information that downstream jobs want to depend on while resetting job-local information that should not be inherited by downstream jobs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Spawn a job that asynchronously performs act
.
Instances For
Wait a the job to complete and return the result.
Instances For
Wait for a job to complete and return the produced value. Logs the job's log and throws if there was an error.
Equations
- One or more equations did not get rendered due to their size.
Instances For
let c ← a.bindSync b
asynchronously performs the action b
after the job a
completes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
let c ← a.bindAsync b
asynchronously performs the action b
after the job a
completes and then merges into the job produced by b
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
a.zipWith f b
produces a new job c
that applies f
to the
results of a
and b
. The job c
errors if either a
or b
error.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A Lake build job.
Equations
- Lake.BuildJob α = Lake.Job (α × Lake.BuildTrace)
Instances For
Instances For
Instances For
Equations
- Lake.BuildJob.mapWithTrace f self = Lake.BuildJob.mk ((fun (x : α × Lake.BuildTrace) => match x with | (a, t) => f a t) <$> self.toJob)
Instances For
Equations
- self.bindSync f prio sync = self.toJob.bindSync (fun (x : α × Lake.BuildTrace) => match x with | (a, t) => f a t) prio sync
Instances For
Equations
- self.bindAsync f prio sync = self.toJob.bindAsync (fun (x : α × Lake.BuildTrace) => match x with | (a, t) => f a t) prio sync
Instances For
Equations
- self.wait? = (fun (x : Option (α × Lake.BuildTrace)) => Option.map (fun (x : α × Lake.BuildTrace) => x.fst) x) <$> self.toJob.wait?
Instances For
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
- Lake.BuildJob.collectArray jobs = pure (Array.foldl (Lake.BuildJob.zipWith Array.push) (pure (Array.mkEmpty jobs.size)) jobs)