Packages

trait Reducer[C, M] extends AnyRef

A Reducer[C,M] is a scalaz.Semigroup[M] that maps values of type C through unit to values of type M. A C-Reducer may also supply operations which tack on another C to an existing Semigroup M on the left or right. These specialized reductions may be more efficient in some scenarios and are used when appropriate by a scalaz.Generator. The names cons and snoc work by analogy to the synonymous operations in the list semigroup.

Minimal definition: unit or snoc

Based on the Reducer Haskell library by Edward Kmett (https://hackage.haskell.org/package/reducers).

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

Type Members

  1. trait ReducerLaw extends AnyRef

Abstract Value Members

  1. abstract def cons(c: C, m: M): M

    Faster append(unit(c), m).

  2. implicit abstract def semigroup: Semigroup[M]
  3. abstract def snoc(m: M, c: C): M

    Faster append(m, unit(c)).

  4. abstract def unit(c: C): M

Concrete 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. def append(a1: M, a2: => M): M
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. def compose[N](r: Reducer[C, N]): Reducer[C, (M, N)]

    Distribute Cs to M and N.

  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. def reducerLaw: ReducerLaw
  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. def unfoldl[B](seed: B)(f: (B) => Maybe[(B, C)])(implicit M: Monoid[M]): M
  21. def unfoldlOpt[B](seed: B)(f: (B) => Maybe[(B, C)]): Maybe[M]
  22. def unfoldr[B](seed: B)(f: (B) => Maybe[(C, B)])(implicit M: Monoid[M]): M
  23. def unfoldrOpt[B](seed: B)(f: (B) => Maybe[(C, B)]): Maybe[M]
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped