Documentation
Lean
.
Compiler
.
LCNF
.
PullLetDecls
Search
return to top
source
Imports
Lean.Compiler.LCNF.CompilerM
Lean.Compiler.LCNF.DependsOn
Lean.Compiler.LCNF.PassManager
Lean.Compiler.LCNF.Types
Imported by
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
Context
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
State
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
PullM
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
withFVar
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
withParams
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
withNewScope
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
withCheckpoint
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
withCheckpoint
.
go
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
attachToPull
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
shouldPull
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
pullAlt
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
pullDecls
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
PullM
.
run
Lean
.
Compiler
.
LCNF
.
Decl
.
pullLetDecls
Lean
.
Compiler
.
LCNF
.
Decl
.
pullInstances
Lean
.
Compiler
.
LCNF
.
pullInstances
source
structure
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
Context
:
Type
isCandidateFn :
LetDecl
→
FVarIdSet
→
CompilerM
Bool
included :
FVarIdSet
Instances For
source
structure
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
State
:
Type
toPull :
Array
LetDecl
Instances For
source
@[reducible, inline]
abbrev
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
PullM
(
α
:
Type
)
:
Type
Equations
Instances For
source
@[inline]
def
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
withFVar
{
α
:
Type
}
(
fvarId
:
FVarId
)
(
x
:
PullM
α
)
:
PullM
α
Equations
Instances For
source
@[inline]
def
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
withParams
{
α
:
Type
}
(
ps
:
Array
Param
)
(
x
:
PullM
α
)
:
PullM
α
Equations
Instances For
source
@[inline]
def
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
withNewScope
{
α
:
Type
}
(
x
:
PullM
α
)
:
PullM
α
Equations
Instances For
source
def
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
withCheckpoint
(
x
:
PullM
Code
)
:
PullM
Code
Equations
Instances For
source
partial def
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
withCheckpoint
.
go
(
c
:
Code
)
(
toPull
:
Array
LetDecl
)
(
i
:
Nat
)
(
included
:
FVarIdSet
)
:
StateM
(
Array
LetDecl
)
Code
source
def
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
attachToPull
(
c
:
Code
)
:
PullM
Code
Equations
Instances For
source
def
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
shouldPull
(
decl
:
LetDecl
)
:
PullM
Bool
Equations
Instances For
source
partial def
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
pullAlt
(
alt
:
Alt
)
:
PullM
Alt
source
partial def
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
pullDecls
(
code
:
Code
)
:
PullM
Code
source
def
Lean
.
Compiler
.
LCNF
.
PullLetDecls
.
PullM
.
run
{
α
:
Type
}
(
x
:
PullM
α
)
(
isCandidateFn
:
LetDecl
→
FVarIdSet
→
CompilerM
Bool
)
:
CompilerM
α
Equations
Instances For
source
def
Lean
.
Compiler
.
LCNF
.
Decl
.
pullLetDecls
(
decl
:
Decl
)
(
isCandidateFn
:
LetDecl
→
FVarIdSet
→
CompilerM
Bool
)
:
CompilerM
Decl
Equations
Instances For
source
def
Lean
.
Compiler
.
LCNF
.
Decl
.
pullInstances
(
decl
:
Decl
)
:
CompilerM
Decl
Equations
Instances For
source
def
Lean
.
Compiler
.
LCNF
.
pullInstances
:
Pass
Equations
Instances For