Packages

object Semigroup

Source
Semigroup.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Semigroup
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. def apply[F](implicit F: Semigroup[F]): Semigroup[F]
    Annotations
    @inline()
  2. def firstSemigroup[A]: Band[A]

    A purely left-biased semigroup.

  3. implicit def firstTaggedSemigroup[A]: Band[@@[A, FirstVal]]
    Annotations
    @inline()
  4. def fromIso[F, G](D: Isomorphism.<=>[F, G])(implicit M: Semigroup[G]): Semigroup[F]
  5. def instance[A](f: (A, => A) => A): Semigroup[A]

    Make an associative binary function into an instance.

  6. def iterate[F[_], A](a: A)(f: (A) => A)(implicit F: Applicative[F], m: Semigroup[F[A]]): F[A]

    point(a) append (point(f(a)) append (point(f(f(a)))...

  7. def lastSemigroup[A]: Band[A]

    A purely right-biased semigroup.

  8. implicit def lastTaggedSemigroup[A]: Band[@@[A, LastVal]]
    Annotations
    @inline()
  9. def liftSemigroup[F[_], M](implicit F0: Apply[F], M0: Semigroup[M]): Semigroup[F[M]]

    A semigroup for sequencing Apply effects.

  10. def maxSemigroup[A](implicit o: Order[A]): SemiLattice[@@[A, MaxVal]]
  11. implicit def maxTaggedSemigroup[A](implicit arg0: Order[A]): SemiLattice[@@[A, MaxVal]]
    Annotations
    @inline()
  12. def minSemigroup[A](implicit o: Order[A]): SemiLattice[@@[A, MinVal]]
  13. implicit def minTaggedSemigroup[A](implicit arg0: Order[A]): SemiLattice[@@[A, MinVal]]
    Annotations
    @inline()
  14. def repeat[F[_], A](a: A)(implicit F: Applicative[F], m: Semigroup[F[A]]): F[A]

    point(a) append (point(a) append (point(a)...

  15. implicit val semigroupInvariantFunctor: InvariantFunctor[Semigroup]

    Semigroup is an invariant functor.