Packages

sealed abstract class IndexedConstructorShape[S <: HList, H <: Term with Subs[H], Fb <: Term with Subs[Fb], ConstructorType <: Term with Subs[ConstructorType], Index <: HList] extends AnyRef

The introduction rule for an indexed inductive type; typically (A -> B -> W(x))-> C -> W(y) -> (D -> W(y)) -> W(z) as a function of W May have Pi-types instead of function types.

Usually constructed using the DSL in TLImplicits

S

formal type to capture information at type level

H

scala type of the terms of the inductive type.

Fb

scala type of the inudctive type family

ConstructorType

scala type of a constructor (introduction rule) corresponding to this pattern.

Index

scala type of the index

Linear Supertypes
AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IndexedConstructorShape
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def apply(tp: Fb): Typ[ConstructorType]

    returns HoTT type corresponding to the pattern given the (inductive) type family W (to be the head).

  2. abstract val family: TypFamilyPtn[H, Fb, Index]
  3. abstract def mapper[C <: Term with Subs[C], IF <: Term with Subs[IF], IDF <: Term with Subs[IDF], IDFT <: Term with Subs[IDFT]](implicit fmlyMapper: TypFamilyMapper[H, Fb, C, Index, IF, IDF, IDFT]): IndexedConstructorPatternMapper[S, C, ConstructorType, H, RecDataType, InducDataType, Fb, Index, IF, IDF, IDFT] forSome {type RecDataType <: Term with Subs[RecDataType], type InducDataType <: Term with Subs[InducDataType]}

    helper to give ConstructorPatternMap when scala type of codomain is specified.

  4. abstract def subs(x: Term, y: Term): IndexedConstructorShape[S, H, Fb, ConstructorType, Index]

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from IndexedConstructorShape[S, H, Fb, ConstructorType, Index] toany2stringadd[IndexedConstructorShape[S, H, Fb, ConstructorType, Index]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def -->>:[F <: Term with Subs[F]](that: IndexedIterFuncShape[H, F, Fb, Index], ind: Index): IndexedIndexedFuncConsShape[S, H, F, ConstructorType, Fb, Index]

    returns shape that -> this' where that is of the form W(z), A -> W(z) etc; invoking this is an error if we that is independent of W

  5. def ->[B](y: B): (IndexedConstructorShape[S, H, Fb, ConstructorType, Index], B)
    Implicit
    This member is added by an implicit conversion from IndexedConstructorShape[S, H, Fb, ConstructorType, Index] toArrowAssoc[IndexedConstructorShape[S, H, Fb, ConstructorType, Index]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. def ->>:[T <: Term with Subs[T]](tail: Typ[T]): IndexedCnstFuncConsShape[S, T, H, Fb, ConstructorType, Index]

    returns shape tail ->: this where tail must be independent of the inductive type W being defined.

  7. def :::(name: AnySym): IndexedConstructor[S, H, Fb, ConstructorType, Index]

    returns a variable to act as an introduction rule.

  8. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  11. def ensuring(cond: (IndexedConstructorShape[S, H, Fb, ConstructorType, Index]) => Boolean, msg: => Any): IndexedConstructorShape[S, H, Fb, ConstructorType, Index]
    Implicit
    This member is added by an implicit conversion from IndexedConstructorShape[S, H, Fb, ConstructorType, Index] toEnsuring[IndexedConstructorShape[S, H, Fb, ConstructorType, Index]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. def ensuring(cond: (IndexedConstructorShape[S, H, Fb, ConstructorType, Index]) => Boolean): IndexedConstructorShape[S, H, Fb, ConstructorType, Index]
    Implicit
    This member is added by an implicit conversion from IndexedConstructorShape[S, H, Fb, ConstructorType, Index] toEnsuring[IndexedConstructorShape[S, H, Fb, ConstructorType, Index]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. def ensuring(cond: Boolean, msg: => Any): IndexedConstructorShape[S, H, Fb, ConstructorType, Index]
    Implicit
    This member is added by an implicit conversion from IndexedConstructorShape[S, H, Fb, ConstructorType, Index] toEnsuring[IndexedConstructorShape[S, H, Fb, ConstructorType, Index]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: Boolean): IndexedConstructorShape[S, H, Fb, ConstructorType, Index]
    Implicit
    This member is added by an implicit conversion from IndexedConstructorShape[S, H, Fb, ConstructorType, Index] toEnsuring[IndexedConstructorShape[S, H, Fb, ConstructorType, Index]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  17. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from IndexedConstructorShape[S, H, Fb, ConstructorType, Index] toStringFormat[IndexedConstructorShape[S, H, Fb, ConstructorType, Index]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  18. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. def mapped[C <: Term with Subs[C], IF <: Term with Subs[IF], IDF <: Term with Subs[IDF], IDFT <: Term with Subs[IDFT]](implicit fmlyMapper: TypFamilyMapper[H, Fb, C, Index, IF, IDF, IDFT]): IndexedConstructorPatternMap[C, ConstructorType, H, RecDataType, InducDataType, Fb, Index, IF, IDF, IDFT] forSome {type RecDataType <: Term with Subs[RecDataType], type InducDataType <: Term with Subs[InducDataType]}

    lift to IndexedConstructorPatternMap using the result of the mapper method.

  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  25. def symbcons(name: AnySym, tp: Fb): ConstructorType

    returns term giving introduction rule given inductive type and name

  26. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  31. def ~>>:[T <: Term with Subs[T]](tailVar: T): IndexedCnstDepFuncConsShape[S, T, H, Fb, ConstructorType, Index]

    returns dependent shape tail ~>: this where tail must be independent of the inductive type W being defined.

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated
  2. def [B](y: B): (IndexedConstructorShape[S, H, Fb, ConstructorType, Index], B)
    Implicit
    This member is added by an implicit conversion from IndexedConstructorShape[S, H, Fb, ConstructorType, Index] toArrowAssoc[IndexedConstructorShape[S, H, Fb, ConstructorType, Index]] 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.

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromIndexedConstructorShape[S, H, Fb, ConstructorType, Index] to any2stringadd[IndexedConstructorShape[S, H, Fb, ConstructorType, Index]]

Inherited by implicit conversion StringFormat fromIndexedConstructorShape[S, H, Fb, ConstructorType, Index] to StringFormat[IndexedConstructorShape[S, H, Fb, ConstructorType, Index]]

Inherited by implicit conversion Ensuring fromIndexedConstructorShape[S, H, Fb, ConstructorType, Index] to Ensuring[IndexedConstructorShape[S, H, Fb, ConstructorType, Index]]

Inherited by implicit conversion ArrowAssoc fromIndexedConstructorShape[S, H, Fb, ConstructorType, Index] to ArrowAssoc[IndexedConstructorShape[S, H, Fb, ConstructorType, Index]]

Ungrouped