模块 aya.base

接口 EndoFunctor

所有超级接口:
Function<Term,Term>
所有已知子接口:
BetaExpander, DeltaExpander, Expander
所有已知实现类:
EndoFunctor.Elevator, EndoFunctor.Renamer, EndoFunctor.Substituter, Expander.Normalizer, Expander.Tracked, Expander.WHNFer, Zonker

public interface EndoFunctor extends Function<Term,Term>
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.
  • 方法详细资料

    • pre

      @NotNull default @NotNull Term pre(@NotNull @NotNull Term term)
    • post

      @NotNull default @NotNull Term post(@NotNull @NotNull Term term)
    • apply

      @NotNull default @NotNull Term apply(@NotNull @NotNull Term term)
      指定者:
      apply 在接口中 Function<Term,Term>