Object/Class

scalaz

Liskov

Related Docs: class Liskov | package scalaz

Permalink

object Liskov extends LiskovInstances with LiskovFunctions

Source
Liskov.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Liskov
  2. LiskovFunctions
  3. LiskovInstances
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. type <~<[-A, +B] = Liskov[A, B]

    Permalink

    A convenient type alias for Liskov

  2. type >~>[+B, -A] = Liskov[A, B]

    Permalink

    A flipped alias, for those used to their arrows running left to right

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. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def co[T[+_], A, A2](a: <~<[A, A2]): <~<[T[A], T[A2]]

    Permalink

    We can lift subtyping into any covariant type constructor

    We can lift subtyping into any covariant type constructor

    Definition Classes
    LiskovFunctions
  7. def co2[T[+_, _], Z, A, B](a: <~<[A, Z]): <~<[T[A, B], T[Z, B]]

    Permalink
    Definition Classes
    LiskovFunctions
  8. def co2_2[T[_, +_], Z, A, B](a: <~<[B, Z]): <~<[T[A, B], T[A, Z]]

    Permalink
    Definition Classes
    LiskovFunctions
  9. def co3[T[+_, _, _], Z, A, B, C](a: <~<[A, Z]): <~<[T[A, B, C], T[Z, B, C]]

    Permalink
    Definition Classes
    LiskovFunctions
  10. def co4[T[+_, _, _, _], Z, A, B, C, D](a: <~<[A, Z]): <~<[T[A, B, C, D], T[Z, B, C, D]]

    Permalink
    Definition Classes
    LiskovFunctions
  11. def contra[T[-_], A, A2](a: <~<[A, A2]): <~<[T[A2], T[A]]

    Permalink

    We can lift subtyping into any contravariant type constructor

    We can lift subtyping into any contravariant type constructor

    Definition Classes
    LiskovFunctions
  12. def contra1_2[T[-_, _], Z, A, B](a: <~<[A, Z]): <~<[T[Z, B], T[A, B]]

    Permalink
    Definition Classes
    LiskovFunctions
  13. def contra1_3[T[-_, _, _], Z, A, B, C](a: <~<[A, Z]): <~<[T[Z, B, C], T[A, B, C]]

    Permalink
    Definition Classes
    LiskovFunctions
  14. def contra1_4[T[-_, _, _, _], Z, A, B, C, D](a: <~<[A, Z]): <~<[T[Z, B, C, D], T[A, B, C, D]]

    Permalink
    Definition Classes
    LiskovFunctions
  15. def contra2_2[T[_, -_], Z, A, B](a: <~<[B, Z]): <~<[T[A, Z], T[A, B]]

    Permalink
    Definition Classes
    LiskovFunctions
  16. def contra2_3[T[_, -_, _], Z, A, B, C](a: <~<[B, Z]): <~<[T[A, Z, C], T[A, B, C]]

    Permalink
    Definition Classes
    LiskovFunctions
  17. def contra2_4[T[_, -_, _, _], Z, A, B, C, D](a: <~<[B, Z]): <~<[T[A, Z, C, D], T[A, B, C, D]]

    Permalink
    Definition Classes
    LiskovFunctions
  18. def contra3_3[T[_, _, -_], Z, A, B, C](a: <~<[C, Z]): <~<[T[A, B, Z], T[A, B, C]]

    Permalink
    Definition Classes
    LiskovFunctions
  19. def contra3_4[T[_, _, -_, _], Z, A, B, C, D](a: <~<[C, Z]): <~<[T[A, B, Z, D], T[A, B, C, D]]

    Permalink
    Definition Classes
    LiskovFunctions
  20. def contra4_4[T[_, _, _, -_], Z, A, B, C, D](a: <~<[D, Z]): <~<[T[A, B, C, Z], T[A, B, C, D]]

    Permalink
    Definition Classes
    LiskovFunctions
  21. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  23. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. def force[A, B]: <~<[A, B]

    Permalink

    Unsafely force a claim that A is a subtype of B

    Unsafely force a claim that A is a subtype of B

    Definition Classes
    LiskovFunctions
  25. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  26. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  27. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  28. implicit def isa[A, B >: A]: <~<[A, B]

    Permalink

    Lift Scala's subtyping relationship

    Lift Scala's subtyping relationship

    Definition Classes
    LiskovFunctions
  29. def lift2[T[+_, +_], A, A2, B, B2](a: <~<[A, A2], b: <~<[B, B2]): <~<[T[A, B], T[A2, B2]]

    Permalink

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

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

    Definition Classes
    LiskovFunctions
  30. def lift3[T[+_, +_, +_], A, A2, B, B2, C, C2](a: <~<[A, A2], b: <~<[B, B2], c: <~<[C, C2]): <~<[T[A, B, C], T[A2, B2, C2]]

    Permalink

    lift3(a,b,c) = co1_3(a) compose co2_3(b) compose co3_3(c)

    lift3(a,b,c) = co1_3(a) compose co2_3(b) compose co3_3(c)

    Definition Classes
    LiskovFunctions
  31. def lift4[T[+_, +_, +_, +_], A, A2, B, B2, C, C2, D, D2](a: <~<[A, A2], b: <~<[B, B2], c: <~<[C, C2], d: <~<[D, D2]): <~<[T[A, B, C, D], T[A2, B2, C2, D2]]

    Permalink

    lift4(a,b,c,d) = co1_3(a) compose co2_3(b) compose co3_3(c) compose co4_4(d)

    lift4(a,b,c,d) = co1_3(a) compose co2_3(b) compose co3_3(c) compose co4_4(d)

    Definition Classes
    LiskovFunctions
  32. def liftF1[F[-_, +_], A, A2, R, R2](a: <~<[A, A2], r: <~<[R, R2]): <~<[F[A2, R], F[A, R2]]

    Permalink

    Lift subtyping into a Function1-like type liftF1(a,r) = contra1_2(a) compose co2_2(b)

    Lift subtyping into a Function1-like type liftF1(a,r) = contra1_2(a) compose co2_2(b)

    Definition Classes
    LiskovFunctions
  33. def liftF2[F[-_, -_, +_], A, A2, B, B2, R, R2](a: <~<[A, A2], b: <~<[B, B2], r: <~<[R, R2]): <~<[F[A2, B2, R], F[A, B, R2]]

    Permalink

    Lift subtyping into a function liftF2(a,b,r) = contra1_3(a) compose contra2_3(b) compose co3_3(c)

    Lift subtyping into a function liftF2(a,b,r) = contra1_3(a) compose contra2_3(b) compose co3_3(c)

    Definition Classes
    LiskovFunctions
  34. def liftF3[F[-_, -_, -_, +_], A, A2, B, B2, C, C2, R, R2](a: <~<[A, A2], b: <~<[B, B2], c: <~<[C, C2], r: <~<[R, R2]): <~<[F[A2, B2, C2, R], F[A, B, C, R2]]

    Permalink

    Lift subtyping into a function liftF3(a,b,c,r) = contra1_4(a) compose contra2_4(b) compose contra3_4(c) compose co3_4(d)

    Lift subtyping into a function liftF3(a,b,c,r) = contra1_4(a) compose contra2_4(b) compose contra3_4(c) compose co3_4(d)

    Definition Classes
    LiskovFunctions
  35. def liftF4[F[-_, -_, -_, -_, +_], A, A2, B, B2, C, C2, D, D2, R, R2](a: <~<[A, A2], b: <~<[B, B2], c: <~<[C, C2], d: <~<[D, D2], r: <~<[R, R2]): <~<[F[A2, B2, C2, D2, R], F[A, B, C, D, R2]]

    Permalink

    Lift subtyping into a function

    Lift subtyping into a function

    Definition Classes
    LiskovFunctions
  36. implicit val liskov: Category[<~<]

    Permalink

    Subtyping forms a category

    Subtyping forms a category

    Definition Classes
    LiskovInstances
  37. final def ne(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef
  39. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  40. implicit def refl[A]: <~<[A, A]

    Permalink

    Subtyping is reflexive

    Subtyping is reflexive

    Definition Classes
    LiskovFunctions
  41. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  43. def trans[A, B, C](f: <~<[B, C], g: <~<[A, B]): <~<[A, C]

    Permalink

    Subtyping is transitive

    Subtyping is transitive

    Definition Classes
    LiskovFunctions
  44. def unco[F[_], Z, A](a: <~<[F[A], F[Z]])(implicit arg0: Injective[F]): <~<[A, Z]

    Permalink
    Definition Classes
    LiskovFunctions
  45. def unco2_1[F[+_, _], Z, A, B](a: <~<[F[A, B], F[Z, B]])(implicit arg0: Injective2[F]): <~<[A, Z]

    Permalink
    Definition Classes
    LiskovFunctions
  46. def unco2_2[F[_, +_], Z, A, B](a: <~<[F[A, B], F[A, Z]])(implicit arg0: Injective2[F]): <~<[B, Z]

    Permalink
    Definition Classes
    LiskovFunctions
  47. def uncontra[F[-_], Z, A](a: <~<[F[A], F[Z]])(implicit arg0: Injective[F]): <~<[Z, A]

    Permalink
    Definition Classes
    LiskovFunctions
  48. def uncontra2_1[F[-_, _], Z, A, B](a: <~<[F[A, B], F[Z, B]])(implicit arg0: Injective2[F]): <~<[Z, A]

    Permalink
    Definition Classes
    LiskovFunctions
  49. def uncontra2_2[F[_, -_], Z, A, B](a: <~<[F[A, B], F[A, Z]])(implicit arg0: Injective2[F]): <~<[Z, B]

    Permalink
    Definition Classes
    LiskovFunctions
  50. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. final def wait(arg0: Long, arg1: Int): Unit

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. implicit def witness[A, B](lt: <~<[A, B]): (A) ⇒ B

    Permalink

    We can witness equality by using it to convert between types

    We can witness equality by using it to convert between types

    Definition Classes
    LiskovFunctions

Inherited from LiskovFunctions

Inherited from LiskovInstances

Inherited from AnyRef

Inherited from Any

Ungrouped