@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
instance
Lean.Compiler.LCNF.instMonadScopeScopeTOfMonad
{m : Type → Type}
[Monad m]
:
MonadScope (ScopeT m)
Equations
- Lean.Compiler.LCNF.instMonadScopeScopeTOfMonad = { getScope := read, withScope := fun {α : Type} => withReader }
instance
Lean.Compiler.LCNF.instMonadScopeOfMonadLiftOfMonadFunctor
(m n : Type → Type)
[MonadLift m n]
[MonadFunctor m n]
[MonadScope m]
:
Equations
- One or more equations did not get rendered due to their size.
Equations
- Lean.Compiler.LCNF.inScope fvarId = do let __do_lift ← Lean.Compiler.LCNF.getScope pure (Lean.RBTree.contains __do_lift fvarId)
Instances For
@[inline]
def
Lean.Compiler.LCNF.withParams
{m : Type → Type}
{α : Type}
[MonadScope m]
[Monad m]
(ps : Array Param)
(x : m α)
:
m α
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[inline]
def
Lean.Compiler.LCNF.withFVar
{m : Type → Type}
{α : Type}
[MonadScope m]
[Monad m]
(fvarId : FVarId)
(x : m α)
:
m α
Equations
- Lean.Compiler.LCNF.withFVar fvarId x = Lean.Compiler.LCNF.withScope (fun (s : Lean.Compiler.LCNF.Scope) => Lean.FVarIdSet.insert s fvarId) x
Instances For
@[inline]
def
Lean.Compiler.LCNF.withNewScope
{m : Type → Type}
{α : Type}
[MonadScope m]
[Monad m]
(x : m α)
:
m α
Equations
- Lean.Compiler.LCNF.withNewScope x = Lean.Compiler.LCNF.withScope (fun (x : Lean.Compiler.LCNF.Scope) => ∅) x