Module aya.base

Interface Shaped<T>

Type Parameters:
T -
All Known Subinterfaces:
IntegerOps<Core,Concrete>, Shaped.Applicable<T,Core,Concrete>, Shaped.Inductive<T>, Shaped.List<T>, Shaped.Nat<T>
All Known Implementing Classes:
IntegerOps.ConRule, IntegerOps.FnRule, IntegerTerm, ListTerm, Pat.ShapedInt, Pattern.FakeShapedList

public interface Shaped<T>

What should I do after I creating a new Shape?

  • impl your Shape, see IntegerTerm, and do everything you should after you creating a Term/Pat.
  • impl TermComparator, see TermComparator.doCompareUntyped(Term, Term, TermComparator.Sub, TermComparator.Sub)
  • impl PatMatcher, see PatMatcher.match(Pat, Term)
  • impl PatUnifier, see PatUnify.unify(Pat, Pat)
  • Method Details

    • type

      @NotNull @NotNull Term type()