Trait

org.combinators.cls.types

NonEmptyKinding

Related Doc: package types

Permalink

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

    Permalink

    The marked root variable.

    The marked root variable.

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

    Permalink

    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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def addOption(ty: Type): NonEmptyKinding

    Permalink

    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: PartialFunction[Variable, Type]): FiniteSubstitutionSpace

    Permalink

    Adds an allowed substitution to this space.

    Adds an allowed substitution to this space.

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

    Permalink

    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[PartialFunction[Variable, Type]]

    Permalink

    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

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  9. def apply(v: Variable): Finite[Type]

    Permalink

    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

    Permalink
    Definition Classes
    Any
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  12. def compose[A](g: (A) ⇒ Variable): (A) ⇒ Finite[Type]

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  13. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  16. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. def merge(other: NonEmptyKinding): NonEmptyKinding

    Permalink

    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
  19. def merge(other: Kinding): NonEmptyKinding

    Permalink

    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
  20. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  21. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  22. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. def toString(): String

    Permalink
    Definition Classes
    Function1 → AnyRef → Any
  25. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from Kinding

Inherited from FiniteSubstitutionSpace

Inherited from (Variable) ⇒ Finite[Type]

Inherited from AnyRef

Inherited from Any

Ungrouped