Macro implementation for rust_io defining several operators to be used emulating
Haskel [do notation]
Work based on original idea of crate [do-notation]
Specification to be implemented by a monad.
[lift] a value into a default structure.
Operators to create monad:
[of][from_func][from_option_func][from_result_func][from_option][from_result][merge]
Operators to transform monads
[map][fold][map_error]
Operators to compose monads
[flat_map][zip]
Operators to filter monads
[filter]
Operators to filter and transform monad in one transaction
[when][when_rio]
Operators to recover from side-effects
[recover][recover_with][eventually]
To slow the monad execution
[delay]
To unwrap the value from monad.
[get][get_or_else]
Check the state of the monad
[is_ok][is_failed][is_empty]
Async task executions
[parallel][fork]