Monix BIO

Monix BIO

  • API Docs
  • Documentation
  • GitHub

Monix BIOAsynchronous Programming for Scala and Scala.js

API Docs
Documentation
View on GitHub

Maven Central Join the chat at https://gitter.im/monix/monix-bioSnapshotDiscord

Asynchronous data type with typed errors. Enhanced version of monix.eval.Task.

Getting Started

The latest stable version, compatible with Monix 3.x, Cats 2.x and Cats-Effect 2.x:

libraryDependencies += "io.monix" %% "monix-bio" % "1.2.0"

Published for ScalaJS 1.x, Scala 2.12, 2.13 and 3.0.

Roadmap

  • Complete documentation (see #133 for current progress)
  • reactive module to use monix.reactive.Observable with monix.bio.IO
  • built-in interop with monix.eval.Task without any imports
  • (?) UIO-friendy builders for cats.effect.concurrent and monix-catnap
  • (?) Coeval with typed errors

Contributing

I will really appreciate feedback, bugs and complaints about the project.

If you'd like to contribute code then look for issues tagged with good first issue or just ask me on gitter and I should be able to find something regardless of your level of expertise. :)

I'm happy to mentor anyone interested in contributing.

Credits

Most of the code comes from Monix which was customized to include support for error type parameter directly in the internals.

The idea of a second type parameter comes from ZIO. Its implementation and API for error handling with two error channels served as an inspiration to the entire idea and some of the solutions. A lot of the benchmarks also come from their repository.

Cats-bio has been extremely useful at the beginning because of many similarities between monix.eval.Task and cats.effect.IO internals.


Copyright © 2019-2021 The Monix Project Developers.