Documentation

Lake.Build.Job

@[inline]
def Lake.Job.pure {α : Type u_1} (a : α) :
Equations
Instances For
    Equations
    instance Lake.Job.instInhabited {α : Type u_1} [Inhabited α] :
    Equations
    • Lake.Job.instInhabited = { default := pure default }
    @[inline]
    Equations
    Instances For
      @[inline]
      def Lake.Job.error {α : Type u_1} (l : Lake.Log) :
      Equations
      Instances For
        @[inline]
        def Lake.Job.mapResult {α : Type u_1} {β : Type u_2} (f : Lake.JobResult αLake.JobResult β) (self : Lake.Job α) (prio : optParam Task.Priority Task.Priority.default) (sync : optParam Bool false) :
        Equations
        Instances For
          @[inline]
          def Lake.Job.map {α : Type u_1} {β : Type u_2} (f : αβ) (self : Lake.Job α) (prio : optParam Task.Priority Task.Priority.default) (sync : optParam Bool false) :
          Equations
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            @[inline]
            def Lake.Job.clearLog {α : Type u_1} (self : Lake.Job α) :
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[inline]
              def Lake.Job.attempt {α : Type u_1} (self : Lake.Job α) :
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[inline]
                def Lake.Job.attempt? {α : Type u_1} (self : Lake.Job α) :
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[inline]

                  Spawn a job that asynchronously performs act.

                  Equations
                  Instances For
                    @[inline]
                    def Lake.Job.wait {α : Type} (self : Lake.Job α) :

                    Wait a the job to complete and return the result.

                    Equations
                    Instances For
                      @[inline]
                      def Lake.Job.wait? {α : Type} (self : Lake.Job α) :

                      Wait for a job to complete and return the produced value. If an error occurred, return none and discarded any logs produced.

                      Equations
                      Instances For
                        @[inline]
                        def Lake.Job.await {α : Type} (self : Lake.Job α) :

                        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
                          @[inline]
                          def Lake.Job.bindSync {α : Type u_1} {β : Type} (self : Lake.Job α) (f : αLake.JobM β) (prio : optParam Task.Priority Task.Priority.default) (sync : optParam Bool false) :

                          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
                            @[inline]
                            def Lake.Job.bindAsync {α : Type u_1} {β : Type} (self : Lake.Job α) (f : αLake.SpawnM (Lake.Job β)) (prio : optParam Task.Priority Task.Priority.default) (sync : optParam Bool false) :

                            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
                              @[inline]
                              def Lake.Job.zipWith {α : Type u_1} {β : Type u_2} {γ : Type} (f : αβγ) (x : Lake.Job α) (y : Lake.Job β) (prio : optParam Task.Priority Task.Priority.default) (sync : optParam Bool false) :

                              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
                                @[inline]
                                def Lake.withRegisterJob {m : TypeType u_1} {α : Type} [Monad m] [MonadReaderOf Lake.BuildContext m] [MonadLiftT BaseIO m] (caption : String) (x : m (Lake.Job α)) :
                                m (Lake.Job α)

                                Register the produced job for the CLI progress UI.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  @[reducible, inline]
                                  abbrev Lake.BuildJob (α : Type u_1) :
                                  Type u_1

                                  A Lake build job.

                                  Equations
                                  Instances For
                                    @[inline]
                                    Equations
                                    Instances For
                                      @[inline]
                                      Equations
                                      Instances For
                                        @[inline]
                                        Equations
                                        • self.toJob = self
                                        Instances For
                                          @[inline]
                                          Equations
                                          Instances For
                                            @[inline]
                                            def Lake.BuildJob.pure {α : Type u_1} (a : α) :
                                            Equations
                                            Instances For
                                              Equations
                                              @[inline]
                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For
                                                @[inline]
                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For
                                                  @[inline]
                                                  def Lake.BuildJob.map {α : Type u_1} {β : Type u_1} (f : αβ) (self : Lake.BuildJob α) :
                                                  Equations
                                                  Instances For
                                                    Equations
                                                    @[inline]
                                                    def Lake.BuildJob.mapWithTrace {α : Type u_1} {β : Type u_1} (f : αLake.BuildTraceβ × Lake.BuildTrace) (self : Lake.BuildJob α) :
                                                    Equations
                                                    Instances For
                                                      @[inline]
                                                      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
                                                        @[inline]
                                                        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
                                                          @[inline]
                                                          def Lake.BuildJob.wait? {α : Type} (self : Lake.BuildJob α) :
                                                          Equations
                                                          Instances For
                                                            def Lake.BuildJob.add {α : Type} {β : Type u_1} (t1 : Lake.BuildJob α) (t2 : Lake.BuildJob β) :
                                                            Equations
                                                            Instances For
                                                              def Lake.BuildJob.mix {α : Type u_1} {β : Type u_2} (t1 : Lake.BuildJob α) (t2 : Lake.BuildJob β) :
                                                              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.zipWith {α : Type u_1} {β : Type u_2} {γ : Type} (f : αβγ) (t1 : Lake.BuildJob α) (t2 : Lake.BuildJob β) :
                                                                    Equations
                                                                    • One or more equations did not get rendered due to their size.
                                                                    Instances For
                                                                      Equations
                                                                      Instances For
                                                                        Equations
                                                                        Instances For