scalaz

Liskov

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
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

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

    A convenient type alias for Liskov

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

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

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

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

    We can lift subtyping into any covariant type constructor

    We can lift subtyping into any covariant type constructor

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

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

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

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

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

    We can lift subtyping into any contravariant type constructor

    We can lift subtyping into any contravariant type constructor

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

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

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

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

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

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

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

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

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

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

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

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

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

    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
  27. final def getClass(): Class[_]

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

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

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

    Lift Scala's subtyping relationship

    Lift Scala's subtyping relationship

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

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

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

    Definition Classes
    LiskovFunctions
  32. 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]]

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

    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
  34. def liftF1[F[-_, +_], A, A2, R, R2](a: <~<[A, A2], r: <~<[R, R2]): <~<[F[A2, R], F[A, R2]]

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

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

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

    Lift subtyping into a function

    Lift subtyping into a function

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

    Subtyping forms a category

    Subtyping forms a category

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

    Definition Classes
    AnyRef
  40. final def notify(): Unit

    Definition Classes
    AnyRef
  41. final def notifyAll(): Unit

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

    Subtyping is reflexive

    Subtyping is reflexive

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

    Definition Classes
    AnyRef
  44. def toString(): String

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

    Subtyping is transitive

    Subtyping is transitive

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

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

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

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

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

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

    Definition Classes
    LiskovFunctions
  52. final def wait(): Unit

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

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

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

    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

Deprecated Value Members

  1. def inv[T[_], A, A2](a: <~<[A, A2]): <~<[T[A], T[A2]]

    Definition Classes
    LiskovFunctions
    Annotations
    @deprecated
    Deprecated

    (Since version 7.1.0) inv is unsound on <~<; use Leibniz.=== or Liskov.co instead

Inherited from LiskovFunctions

Inherited from LiskovInstances

Inherited from AnyRef

Inherited from Any

Ungrouped