atnos-org / producer

Produce a stream of elements using the Eff monad for effects

Version Matrix


Simple generators for Scala

Build Status Join the chat at

Producer supports effectful streams where effects are supported by the Eff monad.

It is inspired by the scalaz-stream library at least for its API.


You add producer as an sbt dependency:

libraryDependencies += "org.atnos" %% "producer" % "4.0.0"

// to write types like Reader[String, ?]
addCompilerPlugin("org.spire-math" %% "kind-projector" % "0.7.1")

// to get types like Reader[String, ?] (with more than one type parameter) correctly inferred
addCompilerPlugin("com.milessabin" % "si2712fix-plugin_2.11.8" % "1.2.0")


producer is a Typelevel project. This means we embrace pure, typeful, functional programming, and provide a safe and friendly environment for teaching, learning, and contributing as described in the Typelevel Code of Conduct.

Feel free to open an issue if you notice a bug, have an idea for a feature, or have a question about the code. Pull requests are also gladly accepted.