Module org.kink_lang.kink
Class LetRecProducer
java.lang.Object
org.kink_lang.kink.internal.program.itree.SkeltonItreeVisitor<Itree>
org.kink_lang.kink.internal.program.itreeoptimize.BaseOptimizer
org.kink_lang.kink.internal.program.itreeoptimize.LetRecProducer
- All Implemented Interfaces:
Function<Itree,
,Itree> UnaryOperator<Itree>
,ItreeVisitor<Itree>
Converts
:foo <- { ,,, }
to letrec.
This optimizer must not be used within IndexFunItree. Because if an assignment in IndexFunItree is in the form above, it is already a result by LetInliner, and thus the rhs fun must not capture the lvar in the lhs recursively.
-
Constructor Summary
-
Method Summary
Methods inherited from class org.kink_lang.kink.internal.program.itreeoptimize.BaseOptimizer
apply
Methods inherited from class org.kink_lang.kink.internal.program.itree.SkeltonItreeVisitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
Constructor Details
-
LetRecProducer
public LetRecProducer()
-
-
Method Details
-
visit
Description copied from interface:ItreeVisitor
Visits a lstore itree.- Specified by:
visit
in interfaceItreeVisitor<Itree>
- Overrides:
visit
in classSkeltonItreeVisitor<Itree>
- Parameters:
lstore
- the lstore itree.- Returns:
- the result.
-