- All Superinterfaces:
Function<Term,,Term> UnaryOperator<Term>
- All Known Subinterfaces:
BetaExpander,DefVisitor,DeltaExpander,EndoTerm.NoMeta,Expander
- All Known Implementing Classes:
CallResolver,EndoTerm.Elevator,EndoTerm.MetaBind,EndoTerm.Renamer,EndoTerm.Substituter,Expander.ConservativeWHNFer,Expander.Normalizer,Expander.Tracked,Expander.WHNFer,Zonker
A convenient interface to obtain an endomorphism on `Term`.
This is desirable when you need to transform a `Term` into another `Term`.
One can specify the `pre` and `post` method which represents a recursive step in pre- and post-order respectively.
The overall operation is obtained by recursively transforming the term in pre-order followed by a post-order transformation.
Note that the derived `accept` attempts to preserve object identity when possible,
hence the implementation of `pre` and `post` can take advantage of this behavior.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordA lift but in American English.static final recordsubst all binding to corresponding MetaPatstatic interfaceA traversal that disallow Pat.Metastatic final recordNot an IntelliJ Renamer.static final recordPerforms capture-avoiding substitution. -
Method Summary