Packages

sealed abstract class TypFamilyPtn[H <: Term with Subs[H], F <: Term with Subs[F], Index <: HList] extends AnyRef

the shape of a type family.

Linear Supertypes
AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TypFamilyPtn
  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 codFamily(typ: Typ[Term]): Term
  2. abstract def codFromRecType(typ: Typ[Term]): Option[Typ[Term]]
  3. abstract def constFinalCod[IDFT <: Term with Subs[IDFT]](depCod: IDFT): OptTyp
  4. abstract def domFromRecType(typ: Typ[Term]): Option[Typ[Term]]
  5. abstract def finalCod[IDFT <: Term with Subs[IDFT]](depCod: IDFT): Typ[_]
  6. abstract def getIndex(w: F, typ: Typ[H]): Option[Index]

    optional index a given family W and type W(a)

  7. abstract def mapper[C <: Term with Subs[C]]: TypFamilyMapper[H, F, C, Index, IF, IDF, IDFT] forSome {type IF <: Term with Subs[IF], type IDF <: Term with Subs[IDF], type IDFT <: Term with Subs[IDFT]}

    existentital typed mappper to bridge to TypFamilyMap given scala type of codomain

  8. abstract def someTyp(w: F): Typ[H]

    A type for some index, used to infer H

  9. abstract def subs(x: Term, y: Term): TypFamilyPtn[H, F, Index]
  10. abstract def typ(w: F, index: Index): Typ[H]

    type W(a) given the family W and index a

Concrete Value Members

  1. def getMapper[C <: Term with Subs[C], IF <: Term with Subs[IF], IDF <: Term with Subs[IDF], IDFT <: Term with Subs[IDFT]](cod: Typ[C])(implicit mpr: TypFamilyMapper[H, F, C, Index, IF, IDF, IDFT]): TypFamilyMapper[H, F, C, Index, IF, IDF, IDFT]

    mappper to bridge to TypFamilyMap given scala type of codomain based on implicits

  2. def mapped[C <: Term with Subs[C]]: TypFamilyMap[H, F, C, Index, IF, IDF, IDFT] forSome {type IF <: Term with Subs[IF], type IDF <: Term with Subs[IDF], type IDFT <: Term with Subs[IDFT]}

    lift to TypFamilyMap based on mapper

  3. val tlEvidence: TermList[Index]
  4. def ~>:[TT <: Term with Subs[TT]](variable: TT): DepFuncTypFamily[TT, H, F, Index]