All Projects → monix → Monix Bio

monix / Monix Bio

Licence: other
Asynchronous data type with typed errors.

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to Monix Bio

Sup
Composable, purely functional healthchecks in Scala.
Stars: ✭ 138 (+72.5%)
Mutual labels:  typelevel, functional-programming
Spotted Leopards
Proof of concept for a cats-like library built using Dotty features
Stars: ✭ 91 (+13.75%)
Mutual labels:  typelevel, functional-programming
Monocle
Optics library for Scala
Stars: ✭ 1,357 (+1596.25%)
Mutual labels:  typelevel, functional-programming
Monix
Asynchronous, Reactive Programming for Scala and Scala.js.
Stars: ✭ 1,819 (+2173.75%)
Mutual labels:  typelevel, functional-programming
Doobie
Functional JDBC layer for Scala.
Stars: ✭ 1,910 (+2287.5%)
Mutual labels:  typelevel, functional-programming
Frameless
Expressive types for Spark.
Stars: ✭ 717 (+796.25%)
Mutual labels:  typelevel, functional-programming
Shapeless
Generic programming for Scala
Stars: ✭ 3,207 (+3908.75%)
Mutual labels:  typelevel, functional-programming
Skunk
A data access library for Scala + Postgres.
Stars: ✭ 1,107 (+1283.75%)
Mutual labels:  typelevel, functional-programming
Fo
An experimental language which adds functional programming features to Go.
Stars: ✭ 1,158 (+1347.5%)
Mutual labels:  functional-programming
Pfun
Functional, composable, asynchronous, type-safe Python.
Stars: ✭ 75 (-6.25%)
Mutual labels:  functional-programming
Milewski Ctfp Pdf
Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source
Stars: ✭ 9,037 (+11196.25%)
Mutual labels:  functional-programming
Parsing With Haskell Parser Combinators
🔍 A step-by-step guide to parsing using Haskell parser combinators.
Stars: ✭ 72 (-10%)
Mutual labels:  functional-programming
Scalaz Plugin
A compiler plugin that will improve on the scala compiler on the assumption that the user is using the Scalazzi-safe subset of Scala.
Stars: ✭ 76 (-5%)
Mutual labels:  functional-programming
Json Decoder
Type safe JSON decoder for TypeScript
Stars: ✭ 67 (-16.25%)
Mutual labels:  functional-programming
Lux
The Lux Programming Language
Stars: ✭ 1,211 (+1413.75%)
Mutual labels:  functional-programming
Codeworld
Educational computer programming environment using Haskell
Stars: ✭ 1,142 (+1327.5%)
Mutual labels:  functional-programming
Lambdatest
Functional testing for Scala.
Stars: ✭ 65 (-18.75%)
Mutual labels:  functional-programming
Idiolisp
A statically typed functional programming language
Stars: ✭ 78 (-2.5%)
Mutual labels:  functional-programming
Command Center
A CLI-based launcher and general productivity tool.
Stars: ✭ 78 (-2.5%)
Mutual labels:  functional-programming
Request via
RequestVia: A Functional HTTP Client That Wraps Net::HTTP
Stars: ✭ 74 (-7.5%)
Mutual labels:  functional-programming

Monix-BIO

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

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

Visit Documentation Website

The latest version

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

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

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

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].