Documentation

Lake.Util.Log

inductive Lake.Verbosity :
Instances For
    Equations
    inductive Lake.LogLevel :
    Instances For
      Equations
      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
          Instances For
            structure Lake.LogEntry :
            Instances For
              Equations
              Equations
              Instances For
                class Lake.MonadLog (m : Type u → Type v) :
                Instances
                  @[inline]
                  def Lake.logVerbose {m : Type u_1 → Type u_2} [Monad m] [Lake.MonadLog m] (message : String) :
                  Equations
                  Instances For
                    @[inline]
                    def Lake.logInfo {m : Type u_1 → Type u_2} [Monad m] [Lake.MonadLog m] (message : String) :
                    Equations
                    Instances For
                      @[inline]
                      def Lake.logWarning {m : Type u_1 → Type u_2} [Lake.MonadLog m] (message : String) :
                      Equations
                      Instances For
                        @[inline]
                        def Lake.logError {m : Type u_1 → Type u_2} [Lake.MonadLog m] (message : String) :
                        Equations
                        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
                              @[specialize #[]]
                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[specialize #[]]
                                def Lake.MonadLog.nop {m : TypeType u_1} [Pure m] :
                                Equations
                                Instances For
                                  Equations
                                  • Lake.MonadLog.instInhabitedOfPure = { default := Lake.MonadLog.nop }
                                  @[specialize #[]]
                                  Equations
                                  Instances For
                                    @[inline]
                                    Equations
                                    Instances For
                                      @[inline]
                                      Equations
                                      Instances For
                                        @[inline]
                                        Equations
                                        Instances For
                                          @[inline]
                                          def Lake.MonadLog.lift {m : Type u_1 → Type u_2} {n : Type u_1 → Type u_3} [MonadLiftT m n] (self : Lake.MonadLog m) :
                                          Equations
                                          Instances For
                                            instance Lake.MonadLog.instOfMonadLift {m : Type u_1 → Type u_2} {n : Type u_1 → Type u_3} [MonadLift m n] [methods : Lake.MonadLog m] :
                                            Equations
                                            • Lake.MonadLog.instOfMonadLift = methods.lift
                                            @[reducible, inline]
                                            abbrev Lake.MonadLogT (m : Type u → Type v) (n : Type v → Type w) (α : Type v) :
                                            Type (max v w)
                                            Equations
                                            Instances For
                                              instance Lake.instInhabitedMonadLogTOfPure {n : Type u_1 → Type u_2} {α : Type u_1} {m : Type u_3 → Type u_1} [Pure n] [Inhabited α] :
                                              Equations
                                              • Lake.instInhabitedMonadLogTOfPure = { default := fun (x : Lake.MonadLog m) => pure default }
                                              instance Lake.instMonadLogMonadLogTOfMonadOfMonadLiftT {n : Type u_1 → Type u_2} {m : Type u_1 → Type u_1} [Monad n] [MonadLiftT m n] :
                                              Equations
                                              @[inline]
                                              def Lake.MonadLogT.adaptMethods {n : Type u_1 → Type u_2} {m : Type u_3 → Type u_1} {m' : Type u_4 → Type u_1} {α : Type u_1} [Monad n] (f : Lake.MonadLog mLake.MonadLog m') (self : Lake.MonadLogT m' n α) :
                                              Equations
                                              Instances For
                                                @[inline]
                                                def Lake.MonadLogT.ignoreLog {m : TypeType u_1} {n : Type u_1 → Type u_2} {α : Type u_1} [Pure m] (self : Lake.MonadLogT m n α) :
                                                n α
                                                Equations
                                                • self.ignoreLog = self Lake.MonadLog.nop
                                                Instances For
                                                  structure Lake.Log :
                                                  Instances For
                                                    @[inline]
                                                    Equations
                                                    Instances For
                                                      @[inline]
                                                      Equations
                                                      • log.isEmpty = log.entries.isEmpty
                                                      Instances For
                                                        @[inline]
                                                        Equations
                                                        • log.size = log.entries.size
                                                        Instances For
                                                          @[inline]
                                                          Equations
                                                          • log.push e = { entries := log.entries.push e }
                                                          Instances For
                                                            @[inline]
                                                            Equations
                                                            • log.append o = { entries := log.entries.append o.entries }
                                                            Instances For
                                                              @[inline]
                                                              Equations
                                                              • log.shrink n = { entries := log.entries.shrink n }
                                                              Instances For
                                                                @[inline]
                                                                Equations
                                                                • log.split n = ({ entries := log.entries.extract 0 n }, log.shrink n)
                                                                Instances For
                                                                  Equations
                                                                  Instances For
                                                                    @[inline]
                                                                    def Lake.Log.replay {m : Type u_1 → Type u_2} [Monad m] [logger : Lake.MonadLog m] (log : Lake.Log) :
                                                                    Equations
                                                                    Instances For
                                                                      @[inline]
                                                                      Equations
                                                                      Instances For
                                                                        Equations
                                                                        Instances For
                                                                          @[inline]
                                                                          Equations
                                                                          Instances For
                                                                            Equations
                                                                            Instances For
                                                                              class Lake.MonadGetLog (m : TypeType v) :
                                                                              Instances
                                                                                @[inline]
                                                                                Equations
                                                                                • Lake.getLogSize = (fun (x : Lake.Log) => x.size) <$> Lake.getLog
                                                                                Instances For
                                                                                  Equations
                                                                                  • Lake.instMonadGetLogOfMonadLift = { getLog := liftM Lake.getLog }
                                                                                  @[reducible, inline]
                                                                                  abbrev Lake.LogT (m : TypeType) (α : Type) :
                                                                                  Equations
                                                                                  Instances For
                                                                                    Equations
                                                                                    • Lake.LogT.instMonadGetLogOfMonad = { getLog := get }
                                                                                    @[inline]
                                                                                    Equations
                                                                                    Instances For
                                                                                      Equations
                                                                                      • Lake.LogT.instMonadLogOfMonad = { logEntry := Lake.LogT.log }
                                                                                      @[reducible, inline]
                                                                                      abbrev Lake.ELogT (m : TypeType) (α : Type) :
                                                                                      Equations
                                                                                      Instances For
                                                                                        Equations
                                                                                        • Lake.ELogT.instMonadGetLogOfPure = { getLog := get }
                                                                                        @[inline]
                                                                                        Equations
                                                                                        Instances For
                                                                                          Equations
                                                                                          • Lake.ELogT.instMonadLogOfMonad = { logEntry := Lake.ELogT.log }
                                                                                          @[inline]
                                                                                          def Lake.ELogT.errorWithLog {m : TypeType} {α : Type} {β : Type} [Monad m] (x : Lake.ELogT m α) :

                                                                                          Performs x and groups all logs generated into an error block.

                                                                                          Equations
                                                                                          • One or more equations did not get rendered due to their size.
                                                                                          Instances For
                                                                                            @[inline]
                                                                                            def Lake.ELogT.error {m : TypeType} {α : Type} [Monad m] (msg : String) :
                                                                                            Equations
                                                                                            Instances For
                                                                                              Equations
                                                                                              • Lake.ELogT.instMonadErrorOfMonad = { error := fun {α : Type} => Lake.ELogT.error }
                                                                                              @[inline]
                                                                                              def Lake.ELogT.replayLog {n : TypeType u_1} {m : TypeType} {α : Type} [Alternative n] [Monad n] [logger : Lake.MonadLog n] [MonadLiftT m n] (self : Lake.ELogT m α) :
                                                                                              n α
                                                                                              Equations
                                                                                              • One or more equations did not get rendered due to their size.
                                                                                              Instances For
                                                                                                @[inline]
                                                                                                def Lake.ELogT.catchFailure {m : TypeType} {α : Type} [Monad m] (f : Lake.LogLake.LogT m α) (self : Lake.ELogT m α) :
                                                                                                Equations
                                                                                                • One or more equations did not get rendered due to their size.
                                                                                                Instances For
                                                                                                  @[inline]
                                                                                                  def Lake.ELogT.captureLog {m : TypeType} {α : Type} [Monad m] (self : Lake.ELogT m α) :
                                                                                                  Equations
                                                                                                  Instances For
                                                                                                    @[reducible, inline]
                                                                                                    abbrev Lake.LogIO (α : Type) :
                                                                                                    Equations
                                                                                                    Instances For
                                                                                                      Equations