Object

org.atnos.origami

fold

Related Doc: package origami

Permalink

object fold extends FoldCreation with FoldImplicits

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. fold
  2. FoldImplicits
  3. FoldCreation
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. implicit class doubleFold[M[_], A] extends AnyRef

    Permalink
    Definition Classes
    FoldImplicits
  2. implicit class fractionalFold[M[_], A, B] extends AnyRef

    Permalink
    Definition Classes
    FoldImplicits
  3. implicit class numericFold[M[_], A, B, S1] extends AnyRef

    Permalink
    Definition Classes
    FoldImplicits

Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. implicit def ApplyFold[M[_], T](implicit arg0: Monad[M]): Apply[[γ$0$]Fold[M, T, γ$0$]]

    Permalink

    Apply instance

    Apply instance

    This means that we can write:

    val mean: Fold[Int, Int] = (sum |@| count)(_ / _)

    An Apply instance is also a Functor instance so we can write:

    val meanTimes2 = mean.map(_ * 2)

    Definition Classes
    FoldImplicits
  5. def CoflatMapFold[M[_], T](implicit m: Monad[M]): CoflatMap[[γ$10$]Fold[M, T, γ$10$]]

    Permalink

    Cobind instance

    Cobind instance

    Definition Classes
    FoldImplicits
  6. implicit def ComposeFold[M[_]](implicit arg0: Monad[M]): Compose[[β$6$, γ$7$]Fold[M, β$6$, γ$7$]]

    Permalink

    A Fold can be turned into a Compose

    A Fold can be turned into a Compose

    This allows us to write:

    val scans = sum compose list

    Definition Classes
    FoldImplicits
  7. implicit def IdMonadNat[M[_]](implicit m: Monad[M]): ~>[Id, M]

    Permalink
    Definition Classes
    FoldImplicits
  8. implicit def MonoidFold[M[_], A, B](implicit m: Monad[M], monoid: Monoid[B]): Monoid[Fold[M, A, B]]

    Permalink
    Definition Classes
    FoldImplicits
  9. implicit def MonoidSink[M[_], A](implicit m: Monad[M]): Monoid[Fold[M, A, Unit]]

    Permalink
    Definition Classes
    FoldImplicits
  10. implicit def ProfunctorFold[M[_]](implicit arg0: Monad[M]): Profunctor[[β$2$, γ$3$]Fold[M, β$2$, γ$3$]]

    Permalink

    Profunctor instance

    Profunctor instance

    This is especially useful because we can "map" on the input element

    val doubleSum = fromMonoid[Double] // sum all elements val roundedDoubleSum = doubleSum.mapfst(_.round)

    Definition Classes
    FoldImplicits
  11. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  12. def bracket[M[_], A, C](open: M[C])(step: (C, A) ⇒ M[C])(close: (C) ⇒ M[Unit])(implicit m: MonadError[M, Throwable]): Fold[M, A, Unit]

    Permalink

    returns

    a fold with just an open action and a close action which is always executed even in case of a failure during folding

    Definition Classes
    FoldCreation
  13. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. def fromFoldLeft[A, B](b: B)(f: (B, A) ⇒ B): FoldId[A, B] { type S = B }

    Permalink

    returns

    a fold from arguments of a fold left

    Definition Classes
    FoldCreation
  18. def fromMonoid[A](implicit arg0: Monoid[A]): FoldId[A, A] { type S = A }

    Permalink

    returns

    a fold which uses a Monoid to accumulate elements

    Definition Classes
    FoldCreation
  19. def fromMonoidMap[A, O](f: (A) ⇒ O)(implicit arg0: Monoid[O]): FoldId[A, O] { type S = O }

    Permalink

    returns

    a fold which uses a Monoid to accumulate elements

    Definition Classes
    FoldCreation
  20. def fromMonoidMapM[M[_], A, O](f: (A) ⇒ M[O])(implicit arg0: Monad[M], arg1: Monoid[O]): Fold[M, A, O] { ... /* 2 definitions in type refinement */ }

    Permalink

    returns

    a fold which uses a Monoid to accumulate elements effectfully

    Definition Classes
    FoldCreation
  21. def fromSink[M[_], A](action: (A) ⇒ M[Unit])(implicit m: Monad[M]): Fold[M, A, Unit]

    Permalink

    returns

    a fold sinking all the values to a unit action

    Definition Classes
    FoldCreation
  22. def fromStart[M[_], A, S1](action: M[S1])(implicit m: Monad[M]): Fold[M, A, S1] { ... /* 2 definitions in type refinement */ }

    Permalink

    returns

    a fold with just a start action

    Definition Classes
    FoldCreation
  23. def fromStateEval[A, B, C](state: (A) ⇒ State[B, C])(init: B): Fold[[A]A, A, Option[C]] { ... /* 2 definitions in type refinement */ }

    Permalink

    returns

    a fold for the evaluation of a State object

    Definition Classes
    FoldCreation
  24. def fromStateExec[A, B, C](state: (A) ⇒ State[B, C])(init: B): Fold[[A]A, A, B] { ... /* 2 definitions in type refinement */ }

    Permalink

    returns

    a fold for the execution of a State object

    Definition Classes
    FoldCreation
  25. def fromStateRun[A, B, C](state: (A) ⇒ State[B, C])(init: B): FoldId[A, (B, Option[C])] { ... /* 3 definitions in type refinement */ }

    Permalink

    returns

    a fold from running a State object

    Definition Classes
    FoldCreation
  26. final def getClass(): Class[_]

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

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

    Permalink
    Definition Classes
    Any
  29. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  30. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  31. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  32. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  33. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  34. val unitMonoid: Monoid[Unit]

    Permalink
    Definition Classes
    FoldImplicits
  35. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from FoldImplicits

Inherited from FoldCreation

Inherited from AnyRef

Inherited from Any

Ungrouped