Packages

  • package root
    Definition Classes
    root
  • package cats

    The cats root package contains all the trait signatures of most Scala type classes.

    The cats root package contains all the trait signatures of most Scala type classes.

    Cats type classes are implemented using the approach from the Type classes as objects and implicits article.

    For each type class, cats provides three pieces: - Its signature: a trait that is polymorphic on a type parameter. Type class traits inherit from other type classes to indicate that any implementation of the lower type class (e.g. Applicative) can also serve as an instance for the higuer type class (e.g. Functor). - Type class 'instances, which are classes and objects that implement one or more type class signatures for some specific types. Type class instances for several data types from the Java or Scala standard libraries are declared in the subpackage cats.instances. - Syntax extensions, each of which provides the methods of the type class defines as extension methods (which in Scala 2 are encoded as implicit classes) for values of any type F; given that an instance of the type class for the receiver type (this) is in the implicit scope. Symtax extensions are declared in the cats.syntax package. - A set of laws, that are also generic on the type of the class, and are only defined on the operations of the type class. The purpose of these laws is to declare some algebraic relations (equations) between Scala expressions involving the operations of the type class, and test (but not verify) that implemented instances satisfy those equations. Laws are defined in the cats-laws package.

    Although most of cats type classes are declared in this package, some are declared in other packages: - type classes that operate on base types (kind *), and their implementations for standard library types, are contained in cats.kernel, which is a different SBT project. However, they are re-exported from this package. - type classes of kind F[_, _], such as cats.arrow.Profunctor" or cats.arrow.Arrow, which are relevant for Functional Reactive Programming or optics, are declared in the cats.arrow package. - Also, those type classes that abstract over (pure or impure) functional runtime effects are declared in the cats-effect library. - Some type classes for which no laws can be provided are left out of the main road, in a small and dirty alley. These are the alleycats.

    Definition Classes
    root
  • package evidence
    Definition Classes
    cats
  • As
  • AsInstances
  • Is
  • IsInstances

object As extends AsInstances with AsSupport with Serializable

Source
As.scala
Linear Supertypes
Serializable, Serializable, AsSupport, AsInstances, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. As
  2. Serializable
  3. Serializable
  4. AsSupport
  5. AsInstances
  6. AnyRef
  7. 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. implicit def asFromPredef[A, B](implicit ev: <:<[A, B]): As[A, B]

    In 2.13 there is a method on ev that makes this safe.

    In 2.13 there is a method on ev that makes this safe. But lack of this method does not make the cast unsafe it just makes it not provable without the cast.

    Definition Classes
    AsSupport
    Annotations
    @inline()
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  7. def co[T[+_], A, A2](a: As[A, A2]): As[T[A], T[A2]]

    We can lift subtyping into any covariant type constructor

  8. def co2[T[+_, _], Z, A, B](a: As[A, Z]): As[T[A, B], T[Z, B]]
  9. 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.

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

    Subtyping is transitive

  14. 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

  15. 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])

  16. def contra1_2[T[-_, _], Z, A, B](a: As[A, Z]): As[T[Z, B], T[A, B]]
  17. def contra1_3[T[-_, _, _], Z, A, B, C](a: As[A, Z]): As[T[Z, B, C], T[A, B, C]]
  18. def contra2_2[T[_, -_], Z, A, B](a: As[B, Z]): As[T[A, Z], T[A, B]]
  19. def contra2_3[T[_, -_, _], Z, A, B, C](a: As[B, Z]): As[T[A, Z, C], T[A, B, C]]
  20. def contra3_3[T[_, _, -_], Z, A, B, C](a: As[C, Z]): As[T[A, B, Z], T[A, B, C]]
  21. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  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 actually unsafe, but was previously labeled as such out of an abundance of caution

  24. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  25. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  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() @IntrinsicCandidate()
  32. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  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(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  40. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @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 *

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from Serializable

Inherited from AsSupport

Inherited from AsInstances

Inherited from AnyRef

Inherited from Any

Ungrouped