java.lang.Object
java.lang.Record
org.aya.core.term.PathTerm
- Record Components:
params- Dimension parameters, never empty.partial- Partial element carried by this path.
- All Implemented Interfaces:
Formation,StableWHNF,Term,AyaDocile,org.aya.guest0x0.cubical.Restr.TermLike<Term>
public record PathTerm(@NotNull kala.collection.immutable.ImmutableSeq<LocalVar> params, @NotNull Term type, @NotNull org.aya.guest0x0.cubical.Partial<Term> partial)
extends Record
implements StableWHNF, Formation
'Generalized path' syntax.
- See Also:
-
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
Constructors -
Method Summary
Modifier and TypeMethodDescription@NotNull TermapplyDimsTo(@NotNull Term pLam) @NotNull kala.collection.SeqView<Term.Param>@NotNull PiTerm@NotNull PathTermdescent(@NotNull UnaryOperator<Term> f, @NotNull UnaryOperator<Pat> g) Descending an operation to the term AST.final booleanIndicates whether some other object is "equal to" this one.@NotNull Term@NotNull Term@NotNull PathTermflatten()Don't use it in type checking, see the remark by Carlo Angiuli: linkfinal inthashCode()Returns a hash code value for this object.@NotNull Term@NotNull kala.collection.immutable.ImmutableSeq<LocalVar>params()Returns the value of theparamsrecord component.@NotNull org.aya.guest0x0.cubical.Partial<Term>partial()Returns the value of thepartialrecord component.@NotNull Term@NotNull Termfinal StringtoString()Returns a string representation of this record class.@NotNull Termtype()Returns the value of thetyperecord component.@NotNull PathTermMethods 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
computeType, findUsages, freezeHoles, lift, normalize, rename, scopeCheck, subst, subst, subst, subst, toDoc
-
Constructor Details
-
Method Details
-
update
-
descent
@NotNull public @NotNull PathTerm descent(@NotNull @NotNull UnaryOperator<Term> f, @NotNull @NotNull UnaryOperator<Pat> g) Description copied from interface:TermDescending an operation to the term AST. NOTE: Currently we require the operation `f` to preserve:,invalid @link
StructCallDataCall,SortTerm,Shaped.Applicable. -
eta
-
flatten
Don't use it in type checking, see the remark by Carlo Angiuli: link- Returns:
- this if
typeis notPathTerm
-
computePi
-
computeParams
-
substType
-
applyDimsTo
- Parameters:
pLam- a term of "this" type (i.e. a path type)- Returns:
- pLam applied with
params - See Also:
-
makeApp
-
etaLam
- Parameters:
term- a term of "this" type (i.e. the path itself)- Returns:
- eta-expanded term into a lambda, alpha-renamed
- See Also:
-
substBody
-
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). -
params
Returns the value of theparamsrecord component.- Returns:
- the value of the
paramsrecord component
-
type
Returns the value of thetyperecord component.- Returns:
- the value of the
typerecord component
-
partial
Returns the value of thepartialrecord component.- Returns:
- the value of the
partialrecord component
-