sealed trait RecursiveiConstructorPattern[ArgT <: Term with Subs[ArgT], HeadT <: Term with Subs[HeadT], CT <: FuncLike[ArgT, HeadT] with Subs[CT]] extends iConstructorPattern[CT]
Functional extension of a type pattern
- Self Type
- RecursiveiConstructorPattern[ArgT, HeadT, CT]
- Alphabetic
- By Inheritance
- RecursiveiConstructorPattern
- iConstructorPattern
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- type ArgType = ArgT
scala type of argument to constructor A -> ...
scala type of argument to constructor A -> ... (or A ~> ...)
- abstract type HeadInducDataType <: Term
- abstract type HeadRecDataType <: Term
(scala) type of recursive data for head.
- type HeadType = HeadT
scala type of the head T for constructor A -> T for Pi-Types, the head may have varying HoTT type but must have fixed scala type.
- abstract type InducDataType <: Term with Subs[InducDataType]
- Definition Classes
- iConstructorPattern
- abstract type RecDataType <: Term with Subs[RecDataType]
(scala) type of data for recursion corresponding to the single constructor
(scala) type of data for recursion corresponding to the single constructor
- Definition Classes
- iConstructorPattern
- type iConstructorType = CT
type of a constructor for this pattern.
type of a constructor for this pattern.
- Definition Classes
- iConstructorPattern
Abstract Value Members
- abstract def apply(tps: F): Typ[iConstructorType]
- Definition Classes
- iConstructorPattern
- abstract def headData(data: RecDataType, arg: ArgType, f: => I): HeadRecDataType
returns data for recursion to be passed on to the head given an argument (when matching with the construtor).
- abstract def headInducData(data: InducDataType, arg: ArgType, f: => DI): HeadInducDataType
- abstract val headfibre: (ArgType) => iConstructorPattern[HeadType] { ... /* 2 definitions in type refinement */ }
The head pattern, constant T for A -> T and T(a) for A ~> T(a)
- abstract def inClass[CC <: Term with Subs[CC]](w: Typ[H])(that: IndexedConstructorPatterns[CC, H, F]): iConstructorPattern[CT]
- Definition Classes
- iConstructorPattern
- abstract val index: Ind
argument for the final image
argument for the final image
- Definition Classes
- iConstructorPattern
- abstract def inducDataTyp(w: F, xs: Func[Total, Typ[Cod]])(cons: iConstructorType): Typ[InducDataType]
- Definition Classes
- iConstructorPattern
- abstract def recDataTyp(w: F, x: Typ[Cod]): Typ[RecDataType]
domain containing the recursion data for the constructor, i.e., the HoTT type of recursion data.
domain containing the recursion data for the constructor, i.e., the HoTT type of recursion data.
- Definition Classes
- iConstructorPattern
- abstract def subs(x: Term, y: Term): iConstructorPattern[CT]
- Definition Classes
- iConstructorPattern
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from RecursiveiConstructorPattern[ArgT, HeadT, CT] toany2stringadd[RecursiveiConstructorPattern[ArgT, HeadT, CT]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def -->:(thatInd: (IterFuncPtn[H, Cod, F], Ind)): FuncPtn[F, CT]
- Definition Classes
- iConstructorPattern
- def ->[B](y: B): (RecursiveiConstructorPattern[ArgT, HeadT, CT], B)
- Implicit
- This member is added by an implicit conversion from RecursiveiConstructorPattern[ArgT, HeadT, CT] toArrowAssoc[RecursiveiConstructorPattern[ArgT, HeadT, CT]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def codClass[CC <: Term with Subs[CC]](w: Typ[H]): IndexedConstructorPatterns[CC, H, F]
- Definition Classes
- iConstructorPattern
- def constructor(tp: => F, name: AnySym): iConstructorDefn[iConstructorType with Subs[iConstructorType]]
constructor for this pattern given inductive type and name.
constructor for this pattern given inductive type and name.
- Definition Classes
- iConstructorPattern
- def ensuring(cond: (RecursiveiConstructorPattern[ArgT, HeadT, CT]) => Boolean, msg: => Any): RecursiveiConstructorPattern[ArgT, HeadT, CT]
- Implicit
- This member is added by an implicit conversion from RecursiveiConstructorPattern[ArgT, HeadT, CT] toEnsuring[RecursiveiConstructorPattern[ArgT, HeadT, CT]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (RecursiveiConstructorPattern[ArgT, HeadT, CT]) => Boolean): RecursiveiConstructorPattern[ArgT, HeadT, CT]
- Implicit
- This member is added by an implicit conversion from RecursiveiConstructorPattern[ArgT, HeadT, CT] toEnsuring[RecursiveiConstructorPattern[ArgT, HeadT, CT]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): RecursiveiConstructorPattern[ArgT, HeadT, CT]
- Implicit
- This member is added by an implicit conversion from RecursiveiConstructorPattern[ArgT, HeadT, CT] toEnsuring[RecursiveiConstructorPattern[ArgT, HeadT, CT]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): RecursiveiConstructorPattern[ArgT, HeadT, CT]
- Implicit
- This member is added by an implicit conversion from RecursiveiConstructorPattern[ArgT, HeadT, CT] toEnsuring[RecursiveiConstructorPattern[ArgT, HeadT, CT]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from RecursiveiConstructorPattern[ArgT, HeadT, CT] toStringFormat[RecursiveiConstructorPattern[ArgT, HeadT, CT]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
- def funcFrom[T <: Term with Subs[T]](tail: Typ[T], fmly: FamilyType): CnstFncPtn[T, CT]
- Definition Classes
- iConstructorPattern
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def inducDefCase(cons: iConstructorType, data: InducDataType, f: => DI): (Total) => Option[Cod]
- Definition Classes
- RecursiveiConstructorPattern → iConstructorPattern
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def piOf[T <: Term with Subs[T]](tailVar: T, fmly: FamilyType): CnstDepFuncPtn[U, CT, RecDataType, InducDataType, Nothing] forSome {type U >: tailVar.type <: Term with Subs[U]}
- Definition Classes
- iConstructorPattern
- def recDefCase(cons: iConstructorType, data: RecDataType, f: => I): (Total) => Option[Cod]
given a term, matches to see if this is the image of a given (quasi)-constructor.
given a term, matches to see if this is the image of a given (quasi)-constructor. returns simplification (wrapped in Some) if the term matches.
- cons
constructor, actually quasi-constructor, with which to match.
- data
definition data for the image of the constructor.
- f
the function being defined, to be applied recursively.
- Definition Classes
- RecursiveiConstructorPattern → iConstructorPattern
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withCod[CC <: Term with Subs[CC]](w: Typ[H]): iConstructorPattern[CT]
- Definition Classes
- iConstructorPattern
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
- def →[B](y: B): (RecursiveiConstructorPattern[ArgT, HeadT, CT], B)
- Implicit
- This member is added by an implicit conversion from RecursiveiConstructorPattern[ArgT, HeadT, CT] toArrowAssoc[RecursiveiConstructorPattern[ArgT, HeadT, CT]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.