sealed trait Kinding extends (Variable) ⇒ Finite[Type] with FiniteSubstitutionSpace

Kindings restrict variables by enumerating all of their possible substitutions.

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

Abstract Value Members

  1. abstract 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.

  2. abstract def merge(other: Kinding): Kinding

    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.

  3. 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]

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(substitution: (Variable) ⇒ Type): FiniteSubstitutionSpace

    Adds an allowed substitution to this space.

    Adds an allowed substitution to this space.

    Definition Classes
    FiniteSubstitutionSpace
  5. 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
  6. def andThen[A](g: (Finite[Type]) ⇒ A): (Variable) ⇒ A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  7. 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
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  10. def compose[A](g: (A) ⇒ Variable): (A) ⇒ Finite[Type]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from FiniteSubstitutionSpace

Inherited from (Variable) ⇒ Finite[Type]

Inherited from AnyRef

Inherited from Any

Ungrouped