Local function declaration and join point being pulled.
- isFun : Bool
- decl : Lean.Compiler.LCNF.FunDecl
- used : Lean.FVarIdSet
Instances For
Equations
- Lean.Compiler.LCNF.PullFunDecls.instInhabitedToPull = { default := { isFun := default, decl := default, used := default } }
The PullM
state contains the local function declarations and join points being pulled.
Equations
Instances For
Extract from the state any local function declarations that depends on the given
free variable. The idea is that we have to stop pulling these declarations because they
depend on fvarId
.
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.
- Lean.Compiler.LCNF.PullFunDecls.findFVarDirectDeps.go fvarId [] keep dep = pure (keep, dep)
Instances For
Similar to findFVarDeps
. Extract from the state any local function declarations that depends on the given
parameters.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Construct the code fun p.decl k
or jp p.decl k
.
Equations
- p.attach k = if p.isFun = true then Lean.Compiler.LCNF.Code.fun p.decl k else Lean.Compiler.LCNF.Code.jp p.decl k
Instances For
Attach the given array of local function declarations and join points to k
.
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.Compiler.LCNF.PullFunDecls.attach.visited i = do let __do_lift ← get pure __do_lift.snd[i]!
Instances For
Extract from the state any local function declarations that depends on the given
free variable, and attach to code k
.
Equations
- Lean.Compiler.LCNF.PullFunDecls.attachFVarDeps fvarId k = do let ps ← Lean.Compiler.LCNF.PullFunDecls.findFVarDeps fvarId pure (Lean.Compiler.LCNF.PullFunDecls.attach ps k)
Instances For
Similar to attachFVarDeps
. Extract from the state any local function declarations that depends on the given
parameters, and attach to code k
.
Equations
- Lean.Compiler.LCNF.PullFunDecls.attachParamsDeps params k = do let ps ← Lean.Compiler.LCNF.PullFunDecls.findParamsDeps params pure (Lean.Compiler.LCNF.PullFunDecls.attach ps k)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Add local function declaration (or join point if isFun = false
) to the state.
Pull local function declarations and join points in code
.
The state contains the declarations being pulled.
Pull local function declarations and join points in the given declaration.
Equations
- One or more equations did not get rendered due to their size.