fs2.Compiler
See theCompiler companion object
Provides compilation of a Stream[F, O]
to a G[*]
.
In the most common case, F = G = IO
or another "fully featured" effect type. However, there
are other common instantiations like F = Pure, G = Id
, which allows compiling a
Stream[Pure, A]
in to pure values.
For the common case where F = G
, the target
implicit constructor provides an instance of
Compiler[F, F]
-- target
requires a Compiler.Target[F]
instance. The Compiler.Target[F]
is a
super charged MonadErrorThrow[F]
, providing additional capabilities needed for stream compilation.
Compiler.Target[F]
instances are given for all F[_]
which have:
Concurrent[F]
instances- both
MonadCancelThrow[F]
andSync[F]
intances - only
Sync[F]
instances Support for stream interruption requires compilation to an effect which has aConcurrent
instance.
Attributes
- Companion:
- object
- Source:
- Compiler.scala
- Graph
- Supertypes
- class Objecttrait Matchableclass Any