Effects are functorial, monadic, and applicative types that are designed to capture IO based side-effects.
Section | Type | Description |
---|---|---|
IO |
IO<A> |
Asynchronous and synchronous IO. Captures side-effects, manages resources, but throws exceptions. The IO monad is the base of all IO based operations and should be used in your monad-transformer stacks when you need IO. |
Eff |
Eff<A> |
Asynchronous and synchronous IO. Captures side-effects, manages resources, handles exceptions elegantly. |
Eff |
Eff<RT, A> |
Asynchronous and synchronous IO. Captures side-effects, manages resources, handles exceptions elegantly, and has an injectable runtime (RT ) which can provide configuration and dependency-injection |
StreamT |
StreamT<M, A> |
Lazy sequence monad transformer that can be used to stream effects synchronously or asynchronously. Most useful when pared with IO monads, but can be pared with any monad M , to create a stream of M effects. |
Pipes |
Proxy<RT, UOut, UIn, DIn, DOut, A> |
Base of all Pipes types - single type that unifies unidirectional bidirectional streaming channels. |