Effects are functorial, monadic, and applicative types that are designed to capture IO based side-effects.
Section | Type | Description |
---|---|---|
Aff |
Aff<A> |
Asynchronous IO. Captures asynchronous effects, handles exceptions elegantly. |
Aff |
Aff<RT, A> |
Asynchronous IO. Captures asynchronous effects, handles exceptions elegantly, and has an injectable runtime (RT ) which can provide configuration and dependency-injection |
Eff |
Eff<A> |
Synchronous IO. Captures synchronous effects, handles exceptions elegantly. |
Eff |
Eff<RT, A> |
Synchronous IO. Captures synchronous effects, handles exceptions elegantly, and has an injectable runtime (RT ) which can provide configuration and dependency-injection |
Pipes |
Proxy<RT, UOut, UIn, DIn, DOut, A> |
Base of all Pipes types - single type that unifies unidirectional bidirectional streaming channels. |
Pipes |
Producer<RT, OUT, A> |
Producers yield. Derived from Proxy , opens the downstream-out, closes all other channels |
Pipes |
Consumer<RT, IN, A> |
Consumers await. Derived from Proxy , opens the upstream-in, closes all other channels |
Pipes |
Pipe<RT, IN, OUT, A> |
Pipes await and yield. Derived from Proxy , opens the upstream-in and downstream-out, closes all other channels |
Pipes |
Client<RT, REQ, RES, A> |
Clients request. Derived from Proxy , opens the upstream-in and upstream-out, closes all other channels |
Pipes |
Server<RT, REQ, RES, A> |
Servers respond. Derived from Proxy , opens the downstream-in and downstream-out, closes all other channels |
Pipes |
Effect<RT, A> |
Fused composition of:
Proxy derived Effect that that has no external channels open (the effect is 'closed', meaning it's sound - and can be run) |