Module aya.base
Package org.aya.tyck

Class Tycker

java.lang.Object
org.aya.tyck.Tycker
Direct Known Subclasses:
ExprTycker

public abstract class Tycker extends Object
This is a lightweight abstraction of a tycker, primarily designed to be used in Zonker.

Currently, it seems unnecessary, but maybe we can make some other classes also inherit this class to gain some basic type checker functions.

  • Field Details

    • reporter

      @NotNull public final @NotNull org.aya.util.reporter.Reporter reporter
    • state

      @NotNull public final @NotNull TyckState state
    • traceBuilder

      @Nullable public final Trace.Builder traceBuilder
  • Constructor Details

    • Tycker

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

    • zonk

      @NotNull public @NotNull Term zonk(@NotNull @NotNull Term term)
    • zonk

      @NotNull public @NotNull org.aya.guest0x0.cubical.Partial<Term> zonk(@NotNull @NotNull org.aya.guest0x0.cubical.Partial<Term> term)
    • solveMetas

      public void solveMetas()
    • whnf

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

      public void tracing(@NotNull @NotNull Consumer<@NotNull Trace.Builder> consumer)
    • traced

      public <R> R traced(@NotNull @NotNull Supplier<@NotNull Trace> trace, @NotNull @NotNull Supplier<R> computation)
    • 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)