Packages

object As extends AsInstances with Serializable

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. As
  2. Serializable
  3. Serializable
  4. AsInstances
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  6. def co[T[+_], A, A2](a: As[A, A2]): As[T[A], T[A2]]

    We can lift subtyping into any covariant type constructor

  7. def co2[T[+_, _], Z, A, B](a: As[A, Z]): As[T[A, B], T[Z, B]]
  8. def co2_2[T[_, +_], Z, A, B](a: As[B, Z]): As[T[A, B], T[A, Z]]

    Widen a F[X,+A] to a F[X,B] if (A As B).

    Widen a F[X,+A] to a F[X,B] if (A As B). This can be used to widen the output of a Function1, for example.

  9. def co3[T[+_, _, _], Z, A, B, C](a: As[A, Z]): As[T[A, B, C], T[Z, B, C]]
  10. def co3_2[T[_, +_, _], Z, A, B, C](a: As[B, Z]): As[T[A, B, C], T[A, Z, C]]
  11. def co3_3[T[+_, _, +_], Z, A, B, C](a: As[C, Z]): As[T[A, B, C], T[A, B, Z]]
  12. def compose[A, B, C](f: As[B, C], g: As[A, B]): As[A, C]

    Subtyping is transitive

  13. def conF[A, B, C](ev: As[B, A])(fa: (A) ⇒ C): (B) ⇒ C

    Use this relationship to narrow the input type of a Function1

  14. def contra[T[-_], A, B](a: As[A, B]): As[T[B], T[A]]

    We can lift a subtyping relationship into a contravariant type constructor.

    We can lift a subtyping relationship into a contravariant type constructor.

    Given that F has the shape: F[-_], we show that: (A As B) implies (F[B] As F[A])

  15. def contra1_2[T[-_, _], Z, A, B](a: As[A, Z]): As[T[Z, B], T[A, B]]
  16. def contra1_3[T[-_, _, _], Z, A, B, C](a: As[A, Z]): As[T[Z, B, C], T[A, B, C]]
  17. def contra2_2[T[_, -_], Z, A, B](a: As[B, Z]): As[T[A, Z], T[A, B]]
  18. def contra2_3[T[_, -_, _], Z, A, B, C](a: As[B, Z]): As[T[A, Z, C], T[A, B, C]]
  19. def contra3_3[T[_, _, -_], Z, A, B, C](a: As[C, Z]): As[T[A, B, Z], T[A, B, C]]
  20. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  22. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. def fromPredef[A, B](eq: <:<[A, B]): As[A, B]

    It can be convenient to convert a <:< value into a <~< value.

    It can be convenient to convert a <:< value into a <~< value. This is not strictly valid as while it is almost certainly true that A <:< B implies A <~< B it is not the case that you can create evidence of A <~< B except via a coercion. Use responsibly.

  24. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  25. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  26. def invF[C, D, A, B](ev1: As[D, C], ev2: As[A, B])(fa: (C) ⇒ A): (D) ⇒ B

    Use this relationship to widen the output type and narrow the input type of a Function1

  27. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  28. def lift2[T[+_, +_], A, A2, B, B2](a: As[A, A2], b: As[B, B2]): As[T[A, B], T[A2, B2]]

    widen two types for binary type constructors covariant in both parameters

    widen two types for binary type constructors covariant in both parameters

    lift2(a,b) = co1_2(a) compose co2_2(b)

  29. implicit val liskov: Category[As]
    Definition Classes
    AsInstances
  30. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  31. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  32. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  33. def onF[X, A, B](ev: As[A, B])(fa: (X) ⇒ A): (X) ⇒ B

    Use this relationship to widen the output type of a Function1

  34. implicit def refl[A]: As[A, A]

    Subtyping is reflexive

  35. def reify[A, B >: A]: As[A, B]

    reify a subtype relationship as a Liskov relationship

    reify a subtype relationship as a Liskov relationship

    Annotations
    @inline()
  36. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  37. def toString(): String
    Definition Classes
    AnyRef → Any
  38. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  41. implicit def witness[A, B](lt: As[A, B]): (A) ⇒ B

    We can witness the relationship by using it to make a substitution *

Inherited from Serializable

Inherited from Serializable

Inherited from AsInstances

Inherited from AnyRef

Inherited from Any

Ungrouped