@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
def
Lean.Compiler.LCNF.Arg.mapFVarM
{m : Type → Type}
{pu : Purity}
[MonadLiftT CompilerM m]
[Monad m]
(f : FVarId → m FVarId)
(arg : Arg pu)
:
m (Arg pu)
Equations
- Lean.Compiler.LCNF.Arg.mapFVarM f Lean.Compiler.LCNF.Arg.erased = pure Lean.Compiler.LCNF.Arg.erased
- Lean.Compiler.LCNF.Arg.mapFVarM f (Lean.Compiler.LCNF.Arg.type e h) = do let __do_lift ← Lean.Compiler.LCNF.mapFVarM f e pure ((Lean.Compiler.LCNF.Arg.type e h).updateType! __do_lift)
- Lean.Compiler.LCNF.Arg.mapFVarM f (Lean.Compiler.LCNF.Arg.fvar fvarId) = do let __do_lift ← f fvarId pure ((Lean.Compiler.LCNF.Arg.fvar fvarId).updateFVar! __do_lift)
Instances For
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
def
Lean.Compiler.LCNF.LetValue.mapFVarM
{m : Type → Type}
{pu : Purity}
[MonadLiftT CompilerM m]
[Monad m]
(f : FVarId → m FVarId)
(e : LetValue pu)
:
m (LetValue pu)
Equations
- One or more equations did not get rendered due to their size.
- Lean.Compiler.LCNF.LetValue.mapFVarM f (Lean.Compiler.LCNF.LetValue.lit value) = pure (Lean.Compiler.LCNF.LetValue.lit value)
- Lean.Compiler.LCNF.LetValue.mapFVarM f Lean.Compiler.LCNF.LetValue.erased = pure Lean.Compiler.LCNF.LetValue.erased
- Lean.Compiler.LCNF.LetValue.mapFVarM f (Lean.Compiler.LCNF.LetValue.oproj i fvarId h) = do let __do_lift ← f fvarId pure ((Lean.Compiler.LCNF.LetValue.oproj i fvarId h).updateProj! __do_lift)
- Lean.Compiler.LCNF.LetValue.mapFVarM f (Lean.Compiler.LCNF.LetValue.uproj i fvarId h) = do let __do_lift ← f fvarId pure ((Lean.Compiler.LCNF.LetValue.uproj i fvarId h).updateProj! __do_lift)
- Lean.Compiler.LCNF.LetValue.mapFVarM f (Lean.Compiler.LCNF.LetValue.reset n fvarId h) = do let __do_lift ← f fvarId pure ((Lean.Compiler.LCNF.LetValue.reset n fvarId h).updateReset! n __do_lift)
- Lean.Compiler.LCNF.LetValue.mapFVarM f (Lean.Compiler.LCNF.LetValue.box ty fvarId h) = do let __do_lift ← f fvarId pure ((Lean.Compiler.LCNF.LetValue.box ty fvarId h).updateBox! ty __do_lift)
- Lean.Compiler.LCNF.LetValue.mapFVarM f (Lean.Compiler.LCNF.LetValue.unbox fvarId h) = do let __do_lift ← f fvarId pure ((Lean.Compiler.LCNF.LetValue.unbox fvarId h).updateUnbox! __do_lift)
Instances For
def
Lean.Compiler.LCNF.LetValue.forFVarM
{m : Type → Type}
{pu : Purity}
[Monad m]
(f : FVarId → m Unit)
(e : LetValue pu)
:
m Unit
Equations
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.lit value) = pure ()
- Lean.Compiler.LCNF.LetValue.forFVarM f Lean.Compiler.LCNF.LetValue.erased = pure ()
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.proj typeName idx fvarId h) = f fvarId
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.oproj i fvarId h) = f fvarId
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.sproj n offset fvarId h) = f fvarId
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.uproj i fvarId h) = f fvarId
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.reset n fvarId h) = f fvarId
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.box ty fvarId h) = f fvarId
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.unbox fvarId h) = f fvarId
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.const declName us args h) = Array.forM (Lean.Compiler.LCNF.forFVarM f) args
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.pap fn args h) = Array.forM (Lean.Compiler.LCNF.forFVarM f) args
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.fap fn args h) = Array.forM (Lean.Compiler.LCNF.forFVarM f) args
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.ctor i args h) = Array.forM (Lean.Compiler.LCNF.forFVarM f) args
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.fvar fvarId args) = do f fvarId Array.forM (Lean.Compiler.LCNF.forFVarM f) args
- Lean.Compiler.LCNF.LetValue.forFVarM f (Lean.Compiler.LCNF.LetValue.reuse fvarId i updateHeader args h) = do f fvarId Array.forM (Lean.Compiler.LCNF.forFVarM f) args
Instances For
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
def
Lean.Compiler.LCNF.LetDecl.forFVarM
{m : Type → Type}
{pu : Purity}
[Monad m]
(f : FVarId → m Unit)
(decl : LetDecl pu)
:
m Unit
Equations
- Lean.Compiler.LCNF.LetDecl.forFVarM f decl = do Lean.Compiler.LCNF.Expr.forFVarM f decl.type Lean.Compiler.LCNF.LetValue.forFVarM f decl.value
Instances For
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
def
Lean.Compiler.LCNF.Param.mapFVarM
{m : Type → Type u_1}
{pu : Purity}
[MonadLiftT CompilerM m]
[Monad m]
(f : FVarId → m FVarId)
(param : Param pu)
:
m (Param pu)
Equations
- Lean.Compiler.LCNF.Param.mapFVarM f param = do let __do_lift ← Lean.Compiler.LCNF.Expr.mapFVarM f param.type liftM (param.update __do_lift)
Instances For
def
Lean.Compiler.LCNF.Param.forFVarM
{m : Type → Type u_1}
{pu : Purity}
[Monad m]
(f : FVarId → m Unit)
(param : Param pu)
:
m Unit
Equations
- Lean.Compiler.LCNF.Param.forFVarM f param = Lean.Compiler.LCNF.Expr.forFVarM f param.type
Instances For
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
def
Lean.Compiler.LCNF.anyFVarM
{m : Type → Type}
{α : Type}
[Monad m]
[TraverseFVar α]
(f : FVarId → m Bool)
(x : α)
:
m Bool
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Lean.Compiler.LCNF.allFVarM
{m : Type → Type}
{α : Type}
[Monad m]
[TraverseFVar α]
(f : FVarId → m Bool)
(x : α)
:
m Bool
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Compiler.LCNF.anyFVar f x = (Lean.Compiler.LCNF.anyFVarM (fun (x : Lean.FVarId) => pure (f x)) x).run
Instances For
Equations
- Lean.Compiler.LCNF.allFVar f x = (Lean.Compiler.LCNF.allFVarM (fun (x : Lean.FVarId) => pure (f x)) x).run