trait Foldable[F[_]] extends AnyRef
A type parameter implying the ability to extract zero or more values of that type.
- Self Type
- Foldable[F]
- Source
- Foldable.scala
- Alphabetic
- By Inheritance
- Foldable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- trait FoldableLaw extends AnyRef
Abstract Value Members
-
abstract
def
foldMap[A, B](fa: F[A])(f: (A) ⇒ B)(implicit F: Monoid[B]): B
Map each element of the structure to a scalaz.Monoid, and combine the results.
-
abstract
def
foldRight[A, B](fa: F[A], z: ⇒ B)(f: (A, ⇒ B) ⇒ B): B
Right-associative fold of a structure.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
all[A](fa: F[A])(p: (A) ⇒ Boolean): Boolean
Whether all
A
s infa
yield true fromp
. -
def
allM[G[_], A](fa: F[A])(p: (A) ⇒ G[Boolean])(implicit G: Monad[G]): G[Boolean]
all
with monadic traversal. -
def
any[A](fa: F[A])(p: (A) ⇒ Boolean): Boolean
Whether any
A
s infa
yield true fromp
. -
def
anyM[G[_], A](fa: F[A])(p: (A) ⇒ G[Boolean])(implicit G: Monad[G]): G[Boolean]
any
with monadic traversal. -
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
final
def
asum[G[_], A](fa: F[G[A]])(implicit G: PlusEmpty[G]): G[A]
Alias for psum.
Alias for psum.
asum
is the name used in Haskell. -
def
bicompose[G[_, _]](implicit arg0: Bifoldable[G]): Bifoldable[[α, β]F[G[α, β]]]
The composition of Foldable
F
and BifoldableG
,[x, y]F[G[x, y]]
, is a Bifoldable -
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
- def collapse[X[_], A](x: F[A])(implicit A: ApplicativePlus[X]): X[A]
-
def
compose[G[_]](implicit G0: Foldable[G]): Foldable[[α]F[G[α]]]
The composition of Foldables
F
andG
,[x]F[G[x]]
, is a Foldable -
final
def
count[A](fa: F[A]): Int
Alias for
length
. -
def
distinct[A](fa: F[A])(implicit A: Order[A]): IList[A]
complexityO(n log n)
- def distinctBy[A, B](fa: F[A])(f: (A) ⇒ B)(implicit arg0: Equal[B]): IList[A]
-
def
distinctE[A](fa: F[A])(implicit A: Equal[A]): IList[A]
complexityO(n2)
-
def
element[A](fa: F[A], a: A)(implicit arg0: Equal[A]): Boolean
Whether
a
is an element offa
. -
def
empty[A](fa: F[A]): Boolean
Deforested alias for
toStream(fa).isEmpty
. -
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
extrema[A](fa: F[A])(implicit arg0: Order[A]): Option[(A, A)]
The smallest and largest elements of
fa
or None iffa
is empty -
def
extremaBy[A, B](fa: F[A])(f: (A) ⇒ B)(implicit arg0: Order[B]): Option[(A, A)]
The elements (amin, amax) of
fa
which yield the smallest and largest values off(a)
, respectively, or None iffa
is empty -
def
extremaOf[A, B](fa: F[A])(f: (A) ⇒ B)(implicit arg0: Order[B]): Option[(B, B)]
The smallest and largest values of
f(a)
for each elementa
offa
, or None iffa
is empty - def filterLength[A](fa: F[A])(f: (A) ⇒ Boolean): Int
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- def findLeft[A](fa: F[A])(f: (A) ⇒ Boolean): Option[A]
-
final
def
findMapM[M[_], A, B](fa: F[A])(f: (A) ⇒ M[Option[B]])(implicit arg0: Monad[M]): M[Option[B]]
map elements in a Foldable with a monadic function and return the first element that is mapped successfully
- def findRight[A](fa: F[A])(f: (A) ⇒ Boolean): Option[A]
-
def
fold[M](t: F[M])(implicit arg0: Monoid[M]): M
Combine the elements of a structure using a monoid.
-
def
fold1Opt[A](fa: F[A])(implicit arg0: Semigroup[A]): Option[A]
Like
fold
but returningNone
if the foldable is empty andSome
otherwise -
def
foldLeft[A, B](fa: F[A], z: B)(f: (B, A) ⇒ B): B
Left-associative fold of a structure.
- def foldLeft1Opt[A](fa: F[A])(f: (A, A) ⇒ A): Option[A]
-
def
foldLeftM[G[_], A, B](fa: F[A], z: B)(f: (B, A) ⇒ G[B])(implicit M: Monad[G]): G[B]
Left-associative, monadic fold of a structure.
-
def
foldMap1Opt[A, B](fa: F[A])(f: (A) ⇒ B)(implicit F: Semigroup[B]): Option[B]
As
foldMap
but returningNone
if the foldable is empty andSome
otherwise - def foldMapLeft1Opt[A, B](fa: F[A])(z: (A) ⇒ B)(f: (B, A) ⇒ B): Option[B]
-
def
foldMapM[G[_], A, B](fa: F[A])(f: (A) ⇒ G[B])(implicit B: Monoid[B], G: Monad[G]): G[B]
Specialization of foldRightM when
B
has aMonoid
. - def foldMapRight1Opt[A, B](fa: F[A])(z: (A) ⇒ B)(f: (A, ⇒ B) ⇒ B): Option[B]
- def foldRight1Opt[A](fa: F[A])(f: (A, ⇒ A) ⇒ A): Option[A]
-
def
foldRightM[G[_], A, B](fa: F[A], z: ⇒ B)(f: (A, ⇒ B) ⇒ G[B])(implicit M: Monad[G]): G[B]
Right-associative, monadic fold of a structure.
- def foldableLaw: FoldableLaw
- val foldableSyntax: FoldableSyntax[F]
-
final
def
foldl[A, B](fa: F[A], z: B)(f: (B) ⇒ (A) ⇒ B): B
Curried version of
foldLeft
- def foldl1Opt[A](fa: F[A])(f: (A) ⇒ (A) ⇒ A): Option[A]
-
final
def
foldlM[G[_], A, B](fa: F[A], z: ⇒ B)(f: (B) ⇒ (A) ⇒ G[B])(implicit M: Monad[G]): G[B]
Curried version of
foldLeftM
-
final
def
foldr[A, B](fa: F[A], z: ⇒ B)(f: (A) ⇒ (⇒ B) ⇒ B): B
Curried version of
foldRight
- def foldr1Opt[A](fa: F[A])(f: (A) ⇒ (⇒ A) ⇒ A): Option[A]
-
final
def
foldrM[G[_], A, B](fa: F[A], z: ⇒ B)(f: (A) ⇒ (⇒ B) ⇒ G[B])(implicit M: Monad[G]): G[B]
Curried version of
foldRightM
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
index[A](fa: F[A], i: Int): Option[A]
- returns
the element at index
i
in aSome
, orNone
if the given index falls outside of the range
-
def
indexOr[A](fa: F[A], default: ⇒ A, i: Int): A
- returns
the element at index
i
, ordefault
if the given index falls outside of the range
-
def
intercalate[A](fa: F[A], a: A)(implicit A: Monoid[A]): A
Insert an
A
between every A, yielding the sum. -
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
length[A](fa: F[A]): Int
Deforested alias for
toStream(fa).size
. - def longDigits[A](fa: F[A])(implicit d: <:<[A, Digit]): Long
-
def
maximum[A](fa: F[A])(implicit arg0: Order[A]): Option[A]
The greatest element of
fa
, or None iffa
is empty. -
def
maximumBy[A, B](fa: F[A])(f: (A) ⇒ B)(implicit arg0: Order[B]): Option[A]
The element
a
offa
which yields the greatest value off(a)
, or None iffa
is empty. -
def
maximumOf[A, B](fa: F[A])(f: (A) ⇒ B)(implicit arg0: Order[B]): Option[B]
The greatest value of
f(a)
for each elementa
offa
, or None iffa
is empty. -
def
minimum[A](fa: F[A])(implicit arg0: Order[A]): Option[A]
The smallest element of
fa
, or None iffa
is empty. -
def
minimumBy[A, B](fa: F[A])(f: (A) ⇒ B)(implicit arg0: Order[B]): Option[A]
The element
a
offa
which yields the smallest value off(a)
, or None iffa
is empty. -
def
minimumOf[A, B](fa: F[A])(f: (A) ⇒ B)(implicit arg0: Order[B]): Option[B]
The smallest value of
f(a)
for each elementa
offa
, or None iffa
is empty. - def msuml[G[_], A](fa: F[G[A]])(implicit G: PlusEmpty[G]): G[A]
- def msumlU[GA](fa: F[GA])(implicit G: Unapply[PlusEmpty, GA]): M[A]
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
product[G[_]](implicit G0: Foldable[G]): Foldable[[α](F[α], G[α])]
The product of Foldables
F
andG
,[x](F[x], G[x]])
, is a Foldable -
def
product0[G[_]](implicit G0: Foldable1[G]): Foldable1[[α](F[α], G[α])]
The product of Foldable
F
and Foldable1G
,[x](F[x], G[x]])
, is a Foldable1 -
def
psum[G[_], A](fa: F[G[A]])(implicit G: PlusEmpty[G]): G[A]
Sum using a polymorphic monoid (PlusEmpty).
Sum using a polymorphic monoid (PlusEmpty). Should support early termination, i.e. summing no more elements than is needed to determine the result.
-
def
psumMap[A, B, G[_]](fa: F[A])(f: (A) ⇒ G[B])(implicit G: PlusEmpty[G]): G[B]
Map elements to
G[B]
and sum using a polymorphic monoid (PlusEmpty).Map elements to
G[B]
and sum using a polymorphic monoid (PlusEmpty). Should support early termination, i.e. mapping and summing no more elements than is needed to determine the result. -
def
selectSplit[A](fa: F[A])(p: (A) ⇒ Boolean): List[NonEmptyList[A]]
Selects groups of elements that satisfy p and discards others.
-
def
sequenceF_[M[_], A](ffa: F[Free[M, A]]): Free[M, Unit]
sequence_
for Free.sequence_
for Free. collapses into a single Free * -
def
sequenceS_[S, A](fga: F[State[S, A]]): State[S, Unit]
sequence_
specialized toState
* -
def
sequence_[M[_], A](fa: F[M[A]])(implicit a: Applicative[M]): M[Unit]
Strict sequencing in an applicative functor
M
that ignores the value infa
. -
def
splitBy[A, B](fa: F[A])(f: (A) ⇒ B)(implicit arg0: Equal[B]): IList[(B, NonEmptyList[A])]
Splits the elements into groups that produce the same result by a function f.
-
def
splitByRelation[A](fa: F[A])(r: (A, A) ⇒ Boolean): IList[NonEmptyList[A]]
Splits into groups of elements that are transitively dependant by a relation r.
-
def
splitWith[A](fa: F[A])(p: (A) ⇒ Boolean): List[NonEmptyList[A]]
Splits the elements into groups that alternatively satisfy and don't satisfy the predicate p.
- def suml[A](fa: F[A])(implicit A: Monoid[A]): A
- def suml1Opt[A](fa: F[A])(implicit A: Semigroup[A]): Option[A]
- def sumr[A](fa: F[A])(implicit A: Monoid[A]): A
- def sumr1Opt[A](fa: F[A])(implicit A: Semigroup[A]): Option[A]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def to[A, G[_]](fa: F[A])(implicit c: CanBuildFrom[Nothing, A, G[A]]): G[A]
- def toEphemeralStream[A](fa: F[A]): EphemeralStream[A]
- def toIList[A](fa: F[A]): IList[A]
- def toList[A](fa: F[A]): List[A]
- def toSet[A](fa: F[A]): Set[A]
- def toStream[A](fa: F[A]): Stream[A]
-
def
toString(): String
- Definition Classes
- AnyRef → Any
- def toVector[A](fa: F[A]): Vector[A]
-
def
traverseS_[S, A, B](fa: F[A])(f: (A) ⇒ State[S, B]): State[S, Unit]
traverse_
specialized toState
* -
final
def
traverseU_[A, GB](fa: F[A])(f: (A) ⇒ GB)(implicit G: Unapply[Applicative, GB]): M[Unit]
A version of
traverse_
that infers the type constructorM
. -
def
traverse_[M[_], A, B](fa: F[A])(f: (A) ⇒ M[B])(implicit a: Applicative[M]): M[Unit]
Strict traversal in an applicative functor
M
that ignores the result off
. -
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )