Trait

fs2

Streams

Related Doc: package fs2

Permalink

trait Streams[Stream[+_[_], +_]] extends AnyRef

Laws (using infix syntax):

append forms a monoid in conjunction with empty:

empty append p == p and p append empty == p. (p1 append p2) append p3 == p1 append (p2 append p3)

And push is consistent with using append to prepend a single chunk:

push(c)(s) == chunk(c) append s

fail propagates until being caught by onError:

fail(e) onError h == h(e) fail(e) append s == fail(e) fail(e) flatMap f == fail(e)

Stream forms a monad with emit and flatMap:

emit >=> f == f f >=> emit == f (f >=> g) >=> h == f >=> (g >=> h) where emit(a) is defined as chunk(Chunk.singleton(a)) and f >=> g is defined as a => a flatMap f flatMap g

The monad is the list-style sequencing monad:

(a append b) flatMap f == (a flatMap f) append (b flatMap f) empty flatMap f == empty

Self Type
Streams[Stream]
Source
Streams.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Streams
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type AsyncStep[F[_], A] = Future[F, Pull[F, Nothing, Step[Chunk[A], Handle[F, A]]]]

    Permalink
  2. type AsyncStep1[F[_], A] = Future[F, Pull[F, Nothing, Step[Option[A], Handle[F, A]]]]

    Permalink
  3. abstract type Handle[+F[_], +_]

    Permalink
  4. abstract type Pull[+F[_], +R, +O]

    Permalink

Abstract Value Members

  1. abstract def Pull: Pulls[Pull]

    Permalink
  2. abstract def append[F[_], A](a: Stream[F, A], b: ⇒ Stream[F, A]): Stream[F, A]

    Permalink
  3. abstract def attemptEval[F[_], A](fa: F[A]): Stream[F, Either[Throwable, A]]

    Permalink
  4. abstract def await[F[_], A](h: Handle[F, A]): Pull[F, Nothing, Step[Chunk[A], Handle[F, A]]]

    Permalink
  5. abstract def awaitAsync[F[_], A](h: Handle[F, A])(implicit F: Async[F]): Pull[F, Nothing, AsyncStep[F, A]]

    Permalink
  6. abstract def bracket[F[_], R, A](acquire: F[R])(use: (R) ⇒ Stream[F, A], release: (R) ⇒ F[Unit]): Stream[F, A]

    Permalink
  7. abstract def chunk[F[_], A](as: Chunk[A]): Stream[F, A]

    Permalink
  8. abstract def cons[F[_], A](h: Stream[F, A])(c: Chunk[A]): Stream[F, A]

    Permalink
  9. abstract def fail[F[_]](e: Throwable): Stream[F, Nothing]

    Permalink
  10. abstract def flatMap[F[_], A, B](a: Stream[F, A])(f: (A) ⇒ Stream[F, B]): Stream[F, B]

    Permalink
  11. abstract def onError[F[_], A](p: Stream[F, A])(handle: (Throwable) ⇒ Stream[F, A]): Stream[F, A]

    Permalink
  12. abstract def open[F[_], A](s: Stream[F, A]): Pull[F, Nothing, Handle[F, A]]

    Permalink

    Open a Stream for transformation.

    Open a Stream for transformation. Guaranteed to return a non-done Pull.

  13. abstract def push[F[_], A](h: Handle[F, A])(c: Chunk[A]): Handle[F, A]

    Permalink
  14. abstract def runFoldFree[F[_], A, B](p: Stream[F, A], z: B)(f: (B, A) ⇒ B): Free[F, B]

    Permalink
  15. abstract def runFoldTraceFree[F[_], A, B](t: Trace)(p: Stream[F, A], z: B)(f: (B, A) ⇒ B): Free[F, B]

    Permalink
  16. abstract def translate[F[_], G[_], A](s: Stream[F, A])(u: ~>[F, G]): Stream[G, A]

    Permalink

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from Streams[Stream] to any2stringadd[Streams[Stream]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Streams[Stream], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from Streams[Stream] to ArrowAssoc[Streams[Stream]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def empty[F[_], A]: Stream[F, A]

    Permalink
  9. def ensuring(cond: (Streams[Stream]) ⇒ Boolean, msg: ⇒ Any): Streams[Stream]

    Permalink
    Implicit information
    This member is added by an implicit conversion from Streams[Stream] to Ensuring[Streams[Stream]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: (Streams[Stream]) ⇒ Boolean): Streams[Stream]

    Permalink
    Implicit information
    This member is added by an implicit conversion from Streams[Stream] to Ensuring[Streams[Stream]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean, msg: ⇒ Any): Streams[Stream]

    Permalink
    Implicit information
    This member is added by an implicit conversion from Streams[Stream] to Ensuring[Streams[Stream]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. def ensuring(cond: Boolean): Streams[Stream]

    Permalink
    Implicit information
    This member is added by an implicit conversion from Streams[Stream] to Ensuring[Streams[Stream]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from Streams[Stream] to StringFormat[Streams[Stream]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  17. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  19. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  20. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  21. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  22. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. def [B](y: B): (Streams[Stream], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from Streams[Stream] to ArrowAssoc[Streams[Stream]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Streams[Stream] to any2stringadd[Streams[Stream]]

Inherited by implicit conversion StringFormat from Streams[Stream] to StringFormat[Streams[Stream]]

Inherited by implicit conversion Ensuring from Streams[Stream] to Ensuring[Streams[Stream]]

Inherited by implicit conversion ArrowAssoc from Streams[Stream] to ArrowAssoc[Streams[Stream]]

Ungrouped