public static interface PointFreeRule.CompRewrite extends PointFreeRule
PointFreeRule.All, PointFreeRule.AppNest, PointFreeRule.BangEta, PointFreeRule.CataFuseDifferent, PointFreeRule.CataFuseSame, PointFreeRule.CompAssocLeft, PointFreeRule.CompAssocRight, PointFreeRule.CompRewrite, PointFreeRule.LensAppId, PointFreeRule.LensComp, PointFreeRule.LensCompFunc, PointFreeRule.Many, PointFreeRule.Nop, PointFreeRule.One, PointFreeRule.OrElse, PointFreeRule.Seq, PointFreeRule.SortInj, PointFreeRule.SortProj
Modifier and Type | Method and Description |
---|---|
static <A,B,C,D> PointFree<D> |
buildLeft(PointFree<?> result,
com.mojang.datafixers.functions.Comp<A,B,C> comp) |
static <A,B,C,D,E> |
buildLeftNested(com.mojang.datafixers.functions.Comp<A,B,C> comp1,
com.mojang.datafixers.functions.Comp<?,?,D> comp2raw) |
static <A,B,C,D> PointFree<D> |
buildRight(com.mojang.datafixers.functions.Comp<A,B,C> comp,
PointFree<?> result) |
static <A,B,C,D,E> |
buildRightNested(com.mojang.datafixers.functions.Comp<A,B,D> comp1,
com.mojang.datafixers.functions.Comp<?,C,?> comp2raw) |
<A> Optional<? extends PointFree<?>> |
doRewrite(Type<A> type,
Type<?> middleType,
PointFree<? extends (?) -> ?> first,
PointFree<? extends (?) -> ?> second) |
default <A> Optional<? extends PointFree<A>> |
rewrite(Type<A> type,
PointFree<A> expr) |
all, everywhere, many, nop, once, one, orElse, orElseStrict, rewrite, rewriteOrNop, rewriteOrNop, seq, seq
default <A> Optional<? extends PointFree<A>> rewrite(Type<A> type, PointFree<A> expr)
rewrite
in interface PointFreeRule
static <A,B,C,D> PointFree<D> buildLeft(PointFree<?> result, com.mojang.datafixers.functions.Comp<A,B,C> comp)
static <A,B,C,D> PointFree<D> buildRight(com.mojang.datafixers.functions.Comp<A,B,C> comp, PointFree<?> result)
static <A,B,C,D,E> PointFree<E> buildLeftNested(com.mojang.datafixers.functions.Comp<A,B,C> comp1, com.mojang.datafixers.functions.Comp<?,?,D> comp2raw)
static <A,B,C,D,E> PointFree<E> buildRightNested(com.mojang.datafixers.functions.Comp<A,B,D> comp1, com.mojang.datafixers.functions.Comp<?,C,?> comp2raw)