Module aya.base

Class StatedTycker

java.lang.Object
org.aya.tyck.tycker.TracedTycker
org.aya.tyck.tycker.StatedTycker
Direct Known Subclasses:
MockTycker, PatClassifier

public abstract sealed class StatedTycker extends TracedTycker permits PatClassifier, MockTycker
This is the second base-base class of a tycker. It has the zonking stuffs and basic def-call related functions. Apart from that, it also deals with core term references in concrete terms.
See Also:
  • Field Details

    • state

      @NotNull public final @NotNull TyckState state
  • Constructor Details

    • StatedTycker

      protected StatedTycker(@NotNull @NotNull org.aya.util.reporter.Reporter reporter, @Nullable Trace.Builder traceBuilder, @NotNull @NotNull TyckState state)
  • Method Details

    • whnf

      @NotNull public @NotNull Term whnf(@NotNull @NotNull Term term)
    • defCall

      @NotNull protected final <D extends Def, S extends TeleDecl<? extends Term>> @NotNull Result defCall(DefVar<D,S> defVar, Callable.Factory<D,S> function)
    • inferRef

      @NotNull protected final @NotNull Result inferRef(@NotNull @NotNull DefVar<?,?> var)
    • unifier

      @NotNull public @NotNull Unifier unifier(@NotNull @NotNull org.aya.util.error.SourcePos pos, @NotNull @NotNull org.aya.util.Ordering ord, @NotNull @NotNull LocalCtx ctx)
    • compareRestr

      protected final boolean compareRestr(@NotNull @NotNull org.aya.guest0x0.cubical.Restr<Term> lhs, @NotNull @NotNull org.aya.guest0x0.cubical.Restr<Term> rhs)
      Sub lr, Sub rl are unused because they are solely for the purpose of unification. In this case, we don't expect unification.
    • conOwnerSubst

      @NotNull protected @NotNull Subst conOwnerSubst(@NotNull @NotNull ConCall conCall)
      Used for getting the subst for an inductive type's constructor's types. This method handles both indexed and non-indexed constructors.