- description : Unit → MessageData
- restoreCont : DoElemCont → DoElabM DoElemCont
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
- Lean.Elab.Do.ControlStack.earlyReturnT baseMonadInfo ρ m = Lean.Elab.Do.ControlStack.exceptT baseMonadInfo `EarlyReturnT `EarlyReturn.runK Lean.Elab.Do.getReturnCont ρ m
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
Plan for embedding a non-tail-resumptive body inside origCont via a monad-transformer stack.
- origCont : DoElemCont
Continuation of the surrounding
doblock; restored after the body. - returnBase? : Option ControlStack
Substack at which the early-return handler was installed, if any.
- breakBase? : Option ControlStack
Substack at which the
breakhandler was installed, if any. - continueBase? : Option ControlStack
Substack at which the
continuehandler was installed, if any. - liftedStack : ControlStack
The full transformer stack over the base monad.
- liftedDoBlockResultType : Expr
The body's elaboration type,
stM dec.resultType.
Instances For
Build the lifter plan for a body whose effects are summarised by info.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Elaborate elabElem in the lifted stack: install break/continue/return
handlers funnelling into liftedStack and set the doBlock result type to
liftedDoBlockResultType. Semantically
MonadControl.liftWith fun runInBase => elabElem (runInBase pure). Conts
passed to elabElem are implicitly wrapped in runInBase, realised later by
ControlStack.mkBreak/mkContinue/mkReturn once the transformer stack t is fixed by
aggregating effects across all lift sites for this lifter.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Build a DoElemCont that unpacks the lifted body's result and resumes origCont.k.