java.lang.Object
org.aya.tyck.tycker.TracedTycker
org.aya.tyck.tycker.StatedTycker
org.aya.tyck.tycker.MockTycker
org.aya.tyck.unify.TermComparator
- Direct Known Subclasses:
Unifier
Bidirectional unification of terms, with abstract
solveMeta(org.aya.core.term.MetaTerm, org.aya.core.term.Term, org.aya.tyck.unify.TermComparator.Sub, org.aya.tyck.unify.TermComparator.Sub, org.aya.core.term.Term).
This class is not called Comparator because there is already Comparator.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordstatic final record -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final @NotNull org.aya.util.Orderingprotected final @NotNull org.aya.util.error.SourcePosFields inherited from class org.aya.tyck.tycker.MockTycker
ctxFields inherited from class org.aya.tyck.tycker.StatedTycker
stateFields inherited from class org.aya.tyck.tycker.TracedTycker
reporter, traceBuilder -
Constructor Summary
ConstructorsConstructorDescriptionTermComparator(Trace.Builder traceBuilder, @NotNull TyckState state, @NotNull org.aya.util.reporter.Reporter reporter, @NotNull org.aya.util.error.SourcePos pos, @NotNull org.aya.util.Ordering cmp, @NotNull LocalCtx ctx) -
Method Summary
Modifier and TypeMethodDescriptionbooleanprotected final booleancompare(Term lhs, Term rhs, TermComparator.Sub lr, TermComparator.Sub rl, @Nullable Term type) booleancompareSort(SortTerm l, SortTerm r) protected @Nullable TermcompareUntyped(@NotNull Term lhs, @NotNull Term rhs, TermComparator.Sub lr, TermComparator.Sub rl) @NotNull TermComparator.FailureDataprotected abstract @Nullable TermsolveMeta(@NotNull MetaTerm lhs, @NotNull Term preRhs, TermComparator.Sub lr, TermComparator.Sub rl, @Nullable Term providedType) static <E> EwithIntervals(@NotNull kala.collection.immutable.ImmutableSeq<LocalVar> l, @NotNull kala.collection.immutable.ImmutableSeq<LocalVar> r, TermComparator.Sub lr, TermComparator.Sub rl, @NotNull kala.collection.immutable.ImmutableSeq<LocalVar> tyVars, @NotNull BiFunction<Subst, Subst, E> supplier) Methods inherited from class org.aya.tyck.tycker.MockTycker
generatePi, instImplicits, mockArg, mockTerm, synthesizer, unifierMethods inherited from class org.aya.tyck.tycker.StatedTycker
compareRestr, conOwnerSubst, defCall, inferRef, unifier, whnf
-
Field Details
-
pos
@NotNull protected final @NotNull org.aya.util.error.SourcePos pos -
cmp
@NotNull protected final @NotNull org.aya.util.Ordering cmp
-
-
Constructor Details
-
TermComparator
public TermComparator(@Nullable Trace.Builder traceBuilder, @NotNull @NotNull TyckState state, @NotNull @NotNull org.aya.util.reporter.Reporter reporter, @NotNull @NotNull org.aya.util.error.SourcePos pos, @NotNull @NotNull org.aya.util.Ordering cmp, @NotNull @NotNull LocalCtx ctx)
-
-
Method Details
-
withIntervals
public static <E> E withIntervals(@NotNull @NotNull kala.collection.immutable.ImmutableSeq<LocalVar> l, @NotNull @NotNull kala.collection.immutable.ImmutableSeq<LocalVar> r, TermComparator.Sub lr, TermComparator.Sub rl, @NotNull @NotNull kala.collection.immutable.ImmutableSeq<LocalVar> tyVars, @NotNull @NotNull BiFunction<Subst, Subst, E> supplier) -
getFailure
-
compare
-
compare
protected final boolean compare(Term lhs, Term rhs, TermComparator.Sub lr, TermComparator.Sub rl, @Nullable @Nullable Term type) -
compareUntyped
@Nullable protected @Nullable Term compareUntyped(@NotNull @NotNull Term lhs, @NotNull @NotNull Term rhs, TermComparator.Sub lr, TermComparator.Sub rl) -
solveMeta
@Nullable protected abstract @Nullable Term solveMeta(@NotNull @NotNull MetaTerm lhs, @NotNull @NotNull Term preRhs, TermComparator.Sub lr, TermComparator.Sub rl, @Nullable @Nullable Term providedType) -
compareSort
-