t

org.combinators.cls.types

NonEmptyKinding

sealed trait NonEmptyKinding extends Kinding

Non empty kindings with a marked root variable.

Self Type
NonEmptyKinding
Linear Supertypes
Kinding, FiniteSubstitutionSpace, (Variable) ⇒ Finite[Type], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NonEmptyKinding
  2. Kinding
  3. FiniteSubstitutionSpace
  4. Function1
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract val head: Variable

    The marked root variable.

    The marked root variable.

    Attributes
    protected
  2. abstract val underlyingMap: Map[Variable, Finite[Type]]

    A map where each variable is assigned finitely many types it can be susbstituted by

    A map where each variable is assigned finitely many types it can be susbstituted by

    Attributes
    protected[org.combinators.cls.types]
    Definition Classes
    Kinding

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addOption(ty: Type): NonEmptyKinding

    Adds a single new option for the root variable.

    Adds a single new option for the root variable.

    returns

    a new non-empty kinding with the same root variable.

  5. def addOption(substitution: (Variable) ⇒ Type): FiniteSubstitutionSpace

    Adds an allowed substitution to this space.

    Adds an allowed substitution to this space.

    Definition Classes
    FiniteSubstitutionSpace
  6. def addOptions(options: Finite[Type]): NonEmptyKinding

    Adds a finite enumeration of options for the root variable.

    Adds a finite enumeration of options for the root variable.

    returns

    a new non-empty kinding with the same root variable.

  7. lazy val allowedSubstitutions: Finite[(Variable) ⇒ Type]

    Kindings induce finite substitution spaces.

    Kindings induce finite substitution spaces. We have: S in WF iff S(alpha) = sigma for sigma in Kinding(alpha).

    Definition Classes
    KindingFiniteSubstitutionSpace
  8. def andThen[A](g: (Finite[Type]) ⇒ A): (Variable) ⇒ A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  9. def apply(v: Variable): Finite[Type]

    Looks up substitutions allowed for variable v.

    Looks up substitutions allowed for variable v.

    returns

    the substitutions or an empty enumeration, if the variable has no defined kinding.

    Definition Classes
    Kinding → Function1
  10. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  11. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  12. def compose[A](g: (A) ⇒ Variable): (A) ⇒ Finite[Type]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. def merge(other: NonEmptyKinding): NonEmptyKinding

    Merges two kindings allowing the union of their substitutions.

    Merges two kindings allowing the union of their substitutions. All options of the other kinding will become options for this kinding. The second kinding has to be non-empty (i.e. include information for at least one variable).

    returns

    a new kinding allowing all the options of this and the other kinding.

    Definition Classes
    NonEmptyKindingKinding
  20. def merge(other: Kinding): NonEmptyKinding

    Merges two kindings allowing the union of their substitutions.

    Merges two kindings allowing the union of their substitutions.

    returns

    a new kinding allowing all the options of this and the other kinding.

    Definition Classes
    NonEmptyKindingKinding
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  25. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from Kinding

Inherited from FiniteSubstitutionSpace

Inherited from (Variable) ⇒ Finite[Type]

Inherited from AnyRef

Inherited from Any

Ungrouped