Documentation

Lean.Util.Heartbeats

Heartbeats #

Functions for interacting with the deterministic timeout heartbeat mechanism.

def Lean.withHeartbeats {m : TypeType u_1} {α : Type} [Monad m] [MonadLiftT BaseIO m] (x : m α) :
m (α × Nat)

Counts the number of heartbeats used during a monadic function.

Remember that user facing heartbeats (e.g. as used in set_option maxHeartbeats) differ from the internally tracked heartbeats by a factor of 1000, so you need to divide the results here by 1000 before comparing with user facing numbers.

Equations
    Instances For

      Returns the current maxHeartbeats.

      Equations
        Instances For

          Returns the current initHeartbeats.

          Equations
            Instances For

              Returns the remaining heartbeats available in this computation.

              Equations
                Instances For

                  Returns the percentage of the max heartbeats allowed that have been consumed so far in this computation.

                  Equations
                    Instances For
                      def Lean.reportOutOfHeartbeats (tac : Name) (stx : Syntax) (threshold : Nat := 90) :

                      Log a message if it looks like we ran out of time.

                      Equations
                        Instances For