Documentation

Lean.Elab.Do.Control

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 Lean.Elab.Do.ControlStack.stateT (baseMonadInfo : MonadInfo) (mutVars : Array Name) (σ : Expr) (base : ControlStack) :
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Lean.Elab.Do.ControlStack.optionT (baseMonadInfo : MonadInfo) (optionTWrapper casesOnWrapper : Name) (getCont : DoElabM (DoElabM Expr)) (base : ControlStack) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Lean.Elab.Do.ControlStack.exceptT (baseMonadInfo : MonadInfo) (exceptTWrapper casesOnWrapper : Name) (getCont : DoElabM ReturnCont) (ε : Expr) (base : ControlStack) :
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              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
                    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
                          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

                                This function is like MonadControl.liftWith fun runInBase => elabElem (runInBase pure). All continuations should be thought of as wrapped in runInBase, so that their effects are embedded in the terminal stM m (t m) result type. This wrapping will be realized by ControlStack.synthesizeConts, after we know what the transformer stack t looks like. What t looks like depends on whether reassignments, early return, break and continue are used, considering all the use sites of ControlLifter.lift.

                                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