@[reducible, inline]
Equations
Instances For
@[reducible, inline]
Equations
Instances For
@[instance_reducible]
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_reducible]
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 (Std.TreeSet.contains __do_lift fvarId)
Instances For
@[inline]
def Lean.Compiler.LCNF.withParams {m : Type → Type} {pu : Purity} {α : Type} [MonadScope m] [Monad m] (ps : Array (Param pu)) (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