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)