final class Pull[+F[_], +O, +R] extends AnyVal
A p: Pull[F,O,R] reads values from one or more streams, returns a
result of type R, and produces a Stream[F,O] when calling p.stream.
Any resources acquired by p are freed following the call to stream.
Laws:
Pull forms a monad in R with pure and flatMap:
pure >=> f == ff >=> pure == f(f >=> g) >=> h == f >=> (g >=> h)wheref >=> gis defined asa => a flatMap f flatMap g
raiseError is caught by handleErrorWith:
handleErrorWith(raiseError(e))(f) == f(e)
- Source
- Pull.scala
- Alphabetic
- By Inheritance
- Pull
- AnyVal
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
##(): Int
- Definition Classes
- Any
- def +(other: String): String
- def ->[B](y: B): (Pull[F, O, R], B)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- Any
-
def
>>[F2[x] >: F[x], O2 >: O, R2](p2: ⇒ Pull[F2, O2, R2]): Pull[F2, O2, R2]
Alias for
flatMap(_ => p2). -
def
as[R2](r2: R2): Pull[F, O, R2]
Alias for
_.map(_ => o2). -
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
attempt: Pull[F, O, Either[Throwable, R]]
Returns a pull with the result wrapped in
Right, or an error wrapped inLeftif the pull has failed. -
def
covary[F2[x] >: F[x]]: Pull[F2, O, R]
Lifts this pull to the specified effect type.
-
def
covaryAll[F2[x] >: F[x], O2 >: O, R2 >: R]: Pull[F2, O2, R2]
Lifts this pull to the specified effect type, output type, and resource type.
-
def
covaryOutput[O2 >: O]: Pull[F, O2, R]
Lifts this pull to the specified output type.
-
def
covaryResource[R2 >: R]: Pull[F, O, R2]
Lifts this pull to the specified resource type.
- def ensuring(cond: (Pull[F, O, R]) ⇒ Boolean, msg: ⇒ Any): Pull[F, O, R]
- def ensuring(cond: (Pull[F, O, R]) ⇒ Boolean): Pull[F, O, R]
- def ensuring(cond: Boolean, msg: ⇒ Any): Pull[F, O, R]
- def ensuring(cond: Boolean): Pull[F, O, R]
-
def
flatMap[F2[x] >: F[x], O2 >: O, R2](f: (R) ⇒ Pull[F2, O2, R2]): Pull[F2, O2, R2]
Applies the resource of this pull to
fand returns the result. - def formatted(fmtstr: String): String
-
def
getClass(): Class[_ <: AnyVal]
- Definition Classes
- AnyVal → Any
-
def
handleErrorWith[F2[x] >: F[x], O2 >: O, R2 >: R](h: (Throwable) ⇒ Pull[F2, O2, R2]): Pull[F2, O2, R2]
If
thisterminates withPull.raiseError(e), invokeh(e). -
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
map[R2](f: (R) ⇒ R2): Pull[F, O, R2]
Applies the resource of this pull to
fand returns the result in a newPull. -
def
onComplete[F2[x] >: F[x], O2 >: O, R2 >: R](p2: ⇒ Pull[F2, O2, R2]): Pull[F2, O2, R2]
Run
p2afterthis, regardless of errors duringthis, then reraise any errors encountered duringthis. -
def
scope: Pull[F, O, Unit]
Tracks any resources acquired during this pull and releases them when the pull completes.
-
def
stream: Stream[F, O]
Interpret this
Pullto produce aStream.Interpret this
Pullto produce aStream. The result typeRis discarded. -
def
toString(): String
- Definition Classes
- Any
- def →[B](y: B): (Pull[F, O, R], B)