java.lang.Object
java.lang.Record
org.aya.core.term.PiTerm
- All Implemented Interfaces:
StableWHNF,Term,AyaDocile,org.aya.guest0x0.cubical.Restr.TermLike<Term>
public record PiTerm(@NotNull Term.Param param, @NotNull Term body)
extends Record
implements StableWHNF, Term
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.aya.guest0x0.cubical.Restr.TermLike
org.aya.guest0x0.cubical.Restr.TermLike.Factory<T>Nested classes/interfaces inherited from interface org.aya.core.term.Term
Term.Matching, Term.Param -
Constructor Summary
ConstructorsConstructorDescriptionPiTerm(@NotNull Term.Param param, @NotNull Term body) Creates an instance of aPiTermrecord class. -
Method Summary
Modifier and TypeMethodDescription@NotNull Termbody()Returns the value of thebodyrecord component.@NotNull LamTermfinal booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.static @NotNull Termmake(@NotNull kala.collection.SeqLike<@NotNull Term.Param> telescope, @NotNull Term body) static TermmakeIntervals(kala.collection.Seq<LocalVar> list, Term type) static @Nullable SortTerm@NotNull Term.Paramparam()Returns the value of theparamrecord component.@NotNull Termparameters(@NotNull kala.collection.mutable.MutableList<@NotNull Term.Param> params) @NotNull Termfinal StringtoString()Returns a string representation of this record class.static @NotNull Termunpi(@NotNull Term term, @NotNull UnaryOperator<Term> fmap, @NotNull kala.collection.mutable.MutableList<Term.Param> params) static ExprTycker.TermResultunpiOrPath(@NotNull Term ty, @NotNull Term term, @NotNull UnaryOperator<Term> fmap, @NotNull kala.collection.mutable.MutableList<LocalVar> params, int limit) Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.aya.generic.AyaDocile
debuggerOnlyToDocMethods inherited from interface org.aya.guest0x0.cubical.Restr.TermLike
asFormulaMethods inherited from interface org.aya.core.term.Term
computeSort, computeType, descent, findUsages, freezeHoles, lift, normalize, rename, scopeCheck, subst, subst, subst, subst, toDoc
-
Constructor Details
-
PiTerm
Creates an instance of aPiTermrecord class.- Parameters:
param- the value for theparamrecord componentbody- the value for thebodyrecord component
-
-
Method Details
-
unpi
@NotNull public static @NotNull Term unpi(@NotNull @NotNull Term term, @NotNull @NotNull UnaryOperator<Term> fmap, @NotNull @NotNull kala.collection.mutable.MutableList<Term.Param> params) -
unpiOrPath
@NotNull public static ExprTycker.TermResult unpiOrPath(@NotNull @NotNull Term ty, @NotNull @NotNull Term term, @NotNull @NotNull UnaryOperator<Term> fmap, @NotNull @NotNull kala.collection.mutable.MutableList<LocalVar> params, int limit) - Parameters:
fmap- usually whnf or identityparams- will be of size unequal to limit in case of failure
-
max
-
makeIntervals
-
coe
-
substBody
-
parameters
@NotNull public @NotNull Term parameters(@NotNull @NotNull kala.collection.mutable.MutableList<@NotNull Term.Param> params) -
make
@NotNull public static @NotNull Term make(@NotNull @NotNull kala.collection.SeqLike<@NotNull Term.Param> telescope, @NotNull @NotNull Term body) -
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
param
Returns the value of theparamrecord component.- Returns:
- the value of the
paramrecord component
-
body
Returns the value of thebodyrecord component.- Returns:
- the value of the
bodyrecord component
-