org.specs2.control.origami

Type members

Classlikes

trait Fold[M[_], A, B]

A Fold is a "left fold" over a data structure with:

A Fold is a "left fold" over a data structure with:

  • a 'start' value
  • a 'fold' method to accumulate state
  • an 'end' method to finalize the result

Both 'start' and 'end' have an effect which allows the whole folding to take place inside a context.

Companion:
object
object Fold
Companion:
class
trait Folds

Typeclass instances and creation methods for folds

Typeclass instances and creation methods for folds

Companion:
object
object Folds extends Folds
Companion:
class
object fold extends Folds

Types

type Aux[R, A, B, S1] = Fold[[_] =>> Eff[R, _$3], A, B] { type S = S1; }

alias for a Fold exposing it state type

alias for a Fold exposing it state type

type FoldId[A, U] = Fold[Id, A, U]

alias for a non-effectful Fold

alias for a non-effectful Fold

type FoldState[A, B] = Fold[Id, A, B] { type S = B; }

alias for a non-effectful Fold where the state type is U

alias for a non-effectful Fold where the state type is U

type Sink[M[_], A] = Fold[M, A, Unit]

alias for a Fold sinking its last value

alias for a Fold sinking its last value

type SinkEff[R, A] = Fold[[_] =>> Eff[R, _$2], A, Unit]

alias for a Fold sinking its last value

alias for a Fold sinking its last value