trait TAFoldRight[F[_, _], G[_, _], Z, O] extends AnyRef
A type-aligned foldRight.
Eval
is used as it is in cats.Foldable.foldRight
to allow for lazy evaluation of the tail of
the list and potential termination without traversing the entire structure.
- F
the type of each element in the input structure. For example
Function1
.- G
the type to accumulate into. It has type parameters to support maintaining type-aligned properties in the accumulated object.
- Z
the output type of the last element in the structure. Your TAFoldRight.init method will need to have an input type that lines up with the output type of the last element of the list, since the fold associates the last element with the initial accumulated result and then associates working back from there.
- O
the output type of the final accumulated structure. Your TAFoldRight.init method will define what this needs to be.
- Self Type
- TAFoldRight[F, G, Z, O]
- Source
- TAFoldRight.scala
- See also
TAList.foldRight for a foldRight across a TAList using an instance of this
TAFoldLeft for a foldLeft counterpart
TAReduceRight for a reduceRight (non-empty structure) counterpart
- Alphabetic
- By Inheritance
- TAFoldRight
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
init: Eval[G[Z, O]]
Produce the initial accumulation value.
Produce the initial accumulation value. Its input type must line up with the output type of the last element of the list, since the fold associates the last element with the initial accumulated result and then associates working back from there.
- returns
the initial accumulation value
-
abstract
def
step[L, P](f: F[L, P], g: Eval[G[P, O]]): Eval[G[L, O]]
Update the accumulated result, given the previous element from the structure.
Update the accumulated result, given the previous element from the structure.
- f
the previous element in the structure
- returns
an updated accumulated value
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
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def toReduce: TAReduceRight[F, G, Z, O]
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
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
- @throws( ... ) @native()