Trait/Object

org.combinators.cls.types

Kinding

Related Docs: object Kinding | package types

Permalink

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

    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.

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

    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.

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

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

    Permalink

    Adds an allowed substitution to this space.

    Adds an allowed substitution to this space.

    Definition Classes
    FiniteSubstitutionSpace
  5. 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
  6. def andThen[A](g: (Finite[Type]) ⇒ A): (Variable) ⇒ A

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  7. 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
  8. final def asInstanceOf[T0]: T0

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate()
  14. def hashCode(): Int

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

    Permalink
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate()
  18. final def notifyAll(): Unit

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. 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 FiniteSubstitutionSpace

Inherited from (Variable) ⇒ Finite[Type]

Inherited from AnyRef

Inherited from Any

Ungrouped