Sends #[a, b, c] to `(term| $a ++ $b ++ $c)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Collapse adjacent inl (_ : α)s into a β using f.
For example, #[.inl a₁, .inl a₂, .inr b, .inl a₃] ↦ #[← f #[a₁, a₂], b, ← f #[a₃]].
Equations
- One or more equations did not get rendered due to their size.
Instances For
Delaborate the elements of a list literal separately, calling elem on each.
Equations
Instances For
A copy of Delaborator.annotateTermInfo for other syntactic categories.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A copy of Delaborator.withAnnotateTermInfo for other syntactic categories.
Equations
Instances For
Certain monad transformers such as ReaderT and StateT/StateRefT
provide additional context (read-only) and state (mutable).
MonadSaveCtx m n means that m is a stack of contexts/states on top of n.
It provides a way to suspend an m-action by saving the "current" value of this stack.
For example, m = Lean.MetaM is a stack of contexts and states on top of n = EIO Lean.Exception.
Thus we have saveCtxM : Lean.MetaM α → Lean.MetaM (EIO Lean.Exception α).
- saveCtxM {α : Type} : m α → m (n α)
Transform an action
x : m αinto an actionm (n α)that- saves the current context/state of
m; and - returns an action
y : n αthat would use the saved context/state if run. Note that becauseyno longer has access tom's state, anyStateTchanges that it makes when you run it later will be discarded.
- saves the current context/state of
Instances
Equations
- instMonadSaveCtxStateRefT'OfMonadLiftTST = { saveCtxM := fun {α : Type} (act : StateRefT' ω σ m α) => do let __do_lift ← get liftM (saveCtxM (act.run' __do_lift)) }
Equations
- instToJsonUnit_proofWidgets = { toJson := fun (x : Unit) => Lean.Json.null }