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

Types

type AsyncFold[A, B] = Fold[Action, A, B]

alias for a Fold with async actions

alias for a Fold with async actions

type AsyncSink[A] = Fold[Action, A, Unit]

alias for a Sink with async actions

alias for a Sink with async actions

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