forked from monix/monix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rootdoc.txt
48 lines (36 loc) · 2.46 KB
/
rootdoc.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<img src="https://monix.io/public/images/monix-logo.png" align="right" width="200" />
This is the API documentation for the [[https://monix.io Monix]] library.
==Package Overview==
'''[[monix.execution]]''' exposes lower level primitives for dealing
with asynchronous execution:
- [[monix.execution.atomic]] exposes the `Atomic` types, as alternative
to `java.util.concurrent.atomic`
- [[monix.execution.cancelables]] contains several
useful [[monix.execution.Cancelable Cancelable]] implementations
- [[monix.execution.schedulers]] contains several
useful [[monix.execution.Scheduler Scheduler]] implementations
- [[monix.execution.rstreams]] contains helpers for dealing
with the [[http://www.reactive-streams.org Reactive Streams]] specification
- [[monix.execution.misc]] provides miscellaneous primitives
useful for dealing with concurrency
- [[monix.execution.exceptions]] groups some exceptions thrown by
the implementation
'''[[monix.catnap]]''' exposes pure abstractions built on top of
the [[https://typelevel.org/cats-effect/ Cats-Effect]] type classes:
- [[monix.catnap.cancelables]] exposes pure counterparts to the
cancelable data types described in [[monix.execution.cancelables]]
'''[[monix.eval]]''' is for dealing with evaluation of results, thus exposing
[[monix.eval.Task Task]] and [[monix.eval.Coeval Coeval]].
'''[[monix.reactive]]''' exposes the `Observable` pattern:
- [[monix.reactive.observables]] groups reusable `Observable` implementations
- [[monix.reactive.observers]] groups reusable [[monix.reactive.Observer Observer]]
implementations
- [[monix.reactive.subjects]] exposes [[monix.reactive.subjects.Subject Subject]]
and [[monix.reactive.subjects.ConcurrentSubject ConcurrentSubject]],
which are implementations of hot observables that function both as input and output
'''[[monix.tail]]''' exposes [[monix.tail.Iterant Iterant]] for purely functional pull based streaming:
- [[monix.tail.batches]] describes `Batch` and `BatchCursor`, the
alternatives to Scala's `Iterable` and `Iterator` respectively that
we are using within Iterant's encoding
You can control evaluation with type you choose - be it [[monix.eval.Task Task]], [[monix.eval.Coeval Coeval]], [[https://typelevel.org/cats-effect/api/cats/effect/IO.html cats.effect.IO]]
or your own as long as you provide correct [[https://typelevel.org/cats-effect/typeclasses/ cats-effect]] or [[https://typelevel.org/cats/typeclasses.html cats]] typeclass instance.