public interface PointFreeRule
Modifier and Type | Interface and Description |
---|---|
static class |
PointFreeRule.All |
static class |
PointFreeRule.AppNest |
static class |
PointFreeRule.BangEta |
static class |
PointFreeRule.CataFuseDifferent |
static class |
PointFreeRule.CataFuseSame |
static class |
PointFreeRule.CompAssocLeft |
static class |
PointFreeRule.CompAssocRight |
static interface |
PointFreeRule.CompRewrite |
static class |
PointFreeRule.LensAppId |
static class |
PointFreeRule.LensComp |
static class |
PointFreeRule.LensCompFunc |
static class |
PointFreeRule.Many |
static class |
PointFreeRule.Nop |
static class |
PointFreeRule.One |
static class |
PointFreeRule.OrElse |
static class |
PointFreeRule.Seq |
static class |
PointFreeRule.SortInj |
static class |
PointFreeRule.SortProj |
Modifier and Type | Method and Description |
---|---|
static PointFreeRule |
all(PointFreeRule rule) |
static PointFreeRule |
everywhere(PointFreeRule rule) |
static PointFreeRule |
many(PointFreeRule rule) |
static PointFreeRule |
nop() |
static PointFreeRule |
once(PointFreeRule rule) |
static PointFreeRule |
one(PointFreeRule rule) |
static PointFreeRule |
orElse(PointFreeRule first,
PointFreeRule second) |
static PointFreeRule |
orElseStrict(PointFreeRule first,
by-name PointFreeRule second) |
<A> Optional<? extends PointFree<A>> |
rewrite(Type<A> type,
PointFree<A> expr) |
default <A,B> Optional<View<A,B>> |
rewrite(View<A,B> view) |
default <A> PointFree<A> |
rewriteOrNop(Type<A> type,
PointFree<A> expr) |
default <A,B> View<A,B> |
rewriteOrNop(View<A,B> view) |
static PointFreeRule |
seq(List<by-name PointFreeRule> rules) |
static PointFreeRule |
seq(PointFreeRule first,
by-name PointFreeRule second) |
static PointFreeRule nop()
static PointFreeRule seq(PointFreeRule first, by-name PointFreeRule second)
static PointFreeRule seq(List<by-name PointFreeRule> rules)
static PointFreeRule orElse(PointFreeRule first, PointFreeRule second)
static PointFreeRule orElseStrict(PointFreeRule first, by-name PointFreeRule second)
static PointFreeRule all(PointFreeRule rule)
static PointFreeRule one(PointFreeRule rule)
static PointFreeRule once(PointFreeRule rule)
static PointFreeRule many(PointFreeRule rule)
static PointFreeRule everywhere(PointFreeRule rule)