sealed trait FmlyPtn[O <: Term with Subs[O], C <: Term with Subs[C], F <: Term with Subs[F]] extends AnyRef
A pattern for families, e.g. of inductive types to be defined for instance A -> B -> W, where W is the type to be defined; ends with the type with members.
given a codomain C, or a family of codomains, we can lift functions W -> C to functions on families.
- O
scala type of objects of W, i.e., members of the family.
- C
scala type of the codomain, needed to deduce types for induced functions. This is used in more than one way, which perhaps should be separated: for constructor types and for inductive families. Hence we need two kinds of induced functions, e.g., (A -> B -> W) -> (A -> B -> X) and (A -> B -> W -> X).
- F
scala type of sections, e.g. A -> B -> W
- Self Type
- FmlyPtn[O, C, F]
- Alphabetic
- By Inheritance
- FmlyPtn
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- abstract type ArgType <: Term with Subs[ArgType]
type of total index
- type Cod = C
- type FamilyType = F
type of W, i.e., sections to a universe.
- abstract type IterDepFunc <: Term with Subs[IterDepFunc]
- abstract type IterFunc <: Term with Subs[IterFunc]
Type of Curried function to X.
- abstract type IterTypFunc <: Term with Subs[IterTypFunc]
Type of curried function to typ[X]
- abstract type Total <: Term with Subs[Total]
type of the total space, i.e., all terms in some W.
Abstract Value Members
- abstract def argOpt(l: List[Term]): Option[ArgType]
- abstract def contractType(w: FamilyType)(arg: ArgType): Typ[O]
- abstract def curry(f: Func[Total, Cod]): IterFunc
- abstract def curryTyp(w: Func[Total, Typ[Cod]]): IterTypFunc
- abstract def depCurry(f: FuncLike[Total, Cod]): IterDepFunc
- abstract def depFill(g: IterDepFunc)(arg: ArgType): FuncLike[O, C]
- abstract def depTotalDomain(g: IterDepFunc): Typ[Total]
- abstract def depUncurry(g: IterDepFunc): FuncLike[Total, Cod]
- abstract def domTotal(w: FamilyType): Typ[Total]
- abstract def fill(g: IterFunc)(arg: ArgType): Func[O, C]
- abstract def incl(term: O, arg: ArgType, w: FamilyType): Total
- abstract def iterDepFuncTyp(w: FamilyType, xs: IterTypFunc): Typ[IterDepFunc]
- abstract def iterFuncTyp(w: FamilyType, x: Typ[Cod]): Typ[IterFunc]
- abstract def subs(x: Term, y: Term): FmlyPtn[O, C, F]
- abstract def totalDomain(g: IterFunc): Typ[Total]
- abstract def totalTypDomain(g: IterTypFunc): Typ[Total]
- abstract def uncurry(g: IterFunc): Func[Total, Cod]
- abstract def uncurryTyp(g: IterTypFunc): Func[Total, Typ[Cod]]
- abstract val univLevel: Int
the universe containing the type
- abstract def value(x: Total): O
project an element of the total type to its value, i.e., drop arguments
- abstract def withCod[CC <: Term with Subs[CC]](w: Typ[O]): FmlyPtn[O, CC, F]
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- def ->[B](y: B): (FmlyPtn[O, C, F], B)
- def ->:[TT <: Term with Subs[TT]](tail: Typ[TT]): FmlyPtn[O, C, Func[TT, F]]
- 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 ensuring(cond: (FmlyPtn[O, C, F]) => Boolean, msg: => Any): FmlyPtn[O, C, F]
- def ensuring(cond: (FmlyPtn[O, C, F]) => Boolean): FmlyPtn[O, C, F]
- def ensuring(cond: Boolean, msg: => Any): FmlyPtn[O, C, F]
- def ensuring(cond: Boolean): FmlyPtn[O, C, F]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def formatted(fmtstr: String): String
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val me: FmlyPtn[O, C, F] { ... /* 5 definitions in type refinement */ }
- 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()
- 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 ~>:[TT <: Term with Subs[TT]](tailVar: TT): FmlyPtn[O, C, FuncLike[TT, F]]
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
- def →[B](y: B): (FmlyPtn[O, C, F], B)
- Implicit
- This member is added by an implicit conversion from FmlyPtn[O, C, F] toArrowAssoc[FmlyPtn[O, C, F]] 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.