@[inline, reducible]
The monad of a finished Lake job.
Equations
Instances For
@[inline]
def
Lake.Job.bindSync
{α : Type}
{β : Type}
(self : Lake.Job α)
(f : α → Lake.JobM β)
(prio : optParam Task.Priority Task.Priority.default)
:
Equations
- Lake.Job.bindSync self f prio = Lake.bindSync prio self f
Instances For
@[inline]
def
Lake.Job.bindAsync
{α : Type}
{β : Type}
(self : Lake.Job α)
(f : α → Lake.SchedulerM (Lake.Job β))
:
Equations
- Lake.Job.bindAsync self f = Lake.bindAsync self f
Instances For
@[inline, reducible]
A Lake build job.
Equations
- Lake.BuildJob α = Lake.Job (α × Lake.BuildTrace)
Instances For
@[inline]
Equations
- Lake.BuildJob.ofJob self = Lake.BuildJob.mk ((fun (x : Lake.BuildTrace) => ((), x)) <$> self)
Instances For
Equations
- Lake.BuildJob.instPureBuildJob = { pure := fun {α : Type u_1} => Lake.BuildJob.pure }
@[inline]
Equations
- Lake.BuildJob.map f self = Lake.BuildJob.mk ((fun (x : α × Lake.BuildTrace) => match x with | (a, t) => (f a, t)) <$> Lake.BuildJob.toJob self)
Instances For
Equations
- Lake.BuildJob.instFunctorBuildJob = { map := fun {α β : Type u_1} => Lake.BuildJob.map, mapConst := fun {α β : Type u_1} => Lake.BuildJob.map ∘ Function.const β }
@[inline]
def
Lake.BuildJob.mapWithTrace
{α : Type u_1}
{β : Type u_1}
(f : α → Lake.BuildTrace → β × Lake.BuildTrace)
(self : Lake.BuildJob α)
:
Equations
- Lake.BuildJob.mapWithTrace f self = Lake.BuildJob.mk ((fun (x : α × Lake.BuildTrace) => match x with | (a, t) => f a t) <$> Lake.BuildJob.toJob self)
Instances For
@[inline]
def
Lake.BuildJob.bindSync
{α : Type}
{β : Type}
(self : Lake.BuildJob α)
(f : α → Lake.BuildTrace → Lake.JobM β)
(prio : optParam Task.Priority Task.Priority.default)
:
Equations
- Lake.BuildJob.bindSync self f prio = Lake.Job.bindSync (Lake.BuildJob.toJob self) (fun (x : α × Lake.BuildTrace) => match x with | (a, t) => f a t) prio
Instances For
@[inline]
def
Lake.BuildJob.bindAsync
{α : Type}
{β : Type}
(self : Lake.BuildJob α)
(f : α → Lake.BuildTrace → Lake.SchedulerM (Lake.Job β))
:
Equations
- Lake.BuildJob.bindAsync self f = Lake.Job.bindAsync (Lake.BuildJob.toJob self) fun (x : α × Lake.BuildTrace) => match x with | (a, t) => f a t
Instances For
@[inline]
Equations
- Lake.BuildJob.await self = (fun (x : α × Lake.BuildTrace) => x.fst) <$> Lake.await (Lake.BuildJob.toJob self)
Instances For
Equations
- Lake.BuildJob.instAwaitBuildJobResultM = { await := fun {α : Type} => Lake.BuildJob.await }
@[inline]
Equations
- Lake.BuildJob.materialize self = discard (Lake.await (Lake.BuildJob.toJob self))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lake.BuildJob.seqWithAsync
{α : Type}
{β : Type}
{γ : Type}
(f : α → β → γ)
(t1 : Lake.BuildJob α)
(t2 : Lake.BuildJob β)
:
BaseIO (Lake.BuildJob γ)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lake.BuildJob.instSeqWithAsyncBaseIOBuildJob = { seqWithAsync := fun {γ α β : Type} => Lake.BuildJob.seqWithAsync }
def
Lake.BuildJob.collectList
{α : Type}
(jobs : List (Lake.BuildJob α))
:
BaseIO (Lake.BuildJob (List α))
Equations
- Lake.BuildJob.collectList jobs = List.foldrM (Lake.seqWithAsync List.cons) (pure []) jobs
Instances For
def
Lake.BuildJob.collectArray
{α : Type}
(jobs : Array (Lake.BuildJob α))
:
BaseIO (Lake.BuildJob (Array α))
Equations
- Lake.BuildJob.collectArray jobs = Array.foldlM (Lake.seqWithAsync Array.push) (pure #[]) jobs 0 (Array.size jobs)