trait Semigroupal[F[_]] extends Serializable

Semigroupal captures the idea of composing independent effectful values. It is of particular interest when taken together with Functor - where Functor captures the idea of applying a unary pure function to an effectful value, calling product with map allows one to apply a function of arbitrary arity to multiple independent effectful values.

That same idea is also manifested in the form of Apply, and indeed Apply extends both Semigroupal and Functor to illustrate this.

Annotations
@implicitNotFound( ... )
Source
Semigroupal.scala
Linear Supertypes
Serializable, Serializable, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Semigroupal
  2. Serializable
  3. Serializable
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def getClass(): Class[_]
    Definition Classes
    Any
  2. abstract def product[A, B](fa: F[A], fb: F[B]): F[(A, B)]

    Combine an F[A] and an F[B] into an F[(A, B)] that maintains the effects of both fa and fb.

    Combine an F[A] and an F[B] into an F[(A, B)] that maintains the effects of both fa and fb.

    Example:

    scala> import cats.implicits._
    
    scala> val noneInt: Option[Int] = None
    scala> val some3: Option[Int] = Some(3)
    scala> val noneString: Option[String] = None
    scala> val someFoo: Option[String] = Some("foo")
    
    scala> Semigroupal[Option].product(noneInt, noneString)
    res0: Option[(Int, String)] = None
    
    scala> Semigroupal[Option].product(noneInt, someFoo)
    res1: Option[(Int, String)] = None
    
    scala> Semigroupal[Option].product(some3, noneString)
    res2: Option[(Int, String)] = None
    
    scala> Semigroupal[Option].product(some3, someFoo)
    res3: Option[(Int, String)] = Some((3,foo))

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    Any
  2. final def ##(): Int
    Definition Classes
    Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def equals(arg0: Any): Boolean
    Definition Classes
    Any
  6. def hashCode(): Int
    Definition Classes
    Any
  7. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  8. def toString(): String
    Definition Classes
    Any

Inherited from Serializable

Inherited from Serializable

Inherited from Any

Ungrouped