TailRec

scala.util.control.TailCalls.TailRec
sealed abstract class TailRec[+A]

This class represents a tailcalling computation.

Type parameters

A

the result type of the computation

Attributes

Source
TailCalls.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

final def flatMap[B](f: A => TailRec[B]): TailRec[B]

Continue the computation with f and merge the trampolining of this computation with that of f.

Continue the computation with f and merge the trampolining of this computation with that of f.

Type parameters

B

the result type of the continuation

Value parameters

f

the function to apply to the result, returning a new tailcalling computation

Attributes

Returns

a tailcalling computation that runs this computation and then continues with f applied to its result

Source
TailCalls.scala
final def map[B](f: A => B): TailRec[B]

Continue the computation with f.

Continue the computation with f.

Type parameters

B

the result type of the mapped computation

Value parameters

f

the function to apply to the result, transforming A to B

Attributes

Returns

a new tailcalling computation that produces f applied to the result of this computation

Source
TailCalls.scala
final def result: A

Returns the result of the tailcalling computation.

Returns the result of the tailcalling computation.

Attributes

Source
TailCalls.scala
final def resume: Either[() => TailRec[A], A]

Returns either the next step of the tailcalling computation, or the result if there are no more steps.

Returns either the next step of the tailcalling computation, or the result if there are no more steps.

Attributes

Source
TailCalls.scala