36 lines
1.1 KiB
Rust
36 lines
1.1 KiB
Rust
//! Implementation of some basic instances (in Haskell's meaning of a instances).
|
|
//!
|
|
//! To get an understanding of what instances are about, see [`option`].
|
|
//!
|
|
//! For [`MonadFail<E>`] examples, see [`result`][^research].
|
|
//!
|
|
//! For the simplest form of [`Monad`], see [`solo`][^production].
|
|
//!
|
|
//! For async support, see [`future`][^production][^research] and [`tryfuture`][^production][^research].
|
|
//!
|
|
//! For "creative" execution models, see [`lazy`][^research] and [`stackless`][^research].
|
|
//!
|
|
//! For combining monads, see [`composition`][^research].
|
|
//!
|
|
//! For adding extra metadata to values, see [`effect`][^research].
|
|
//!
|
|
//! For extending existing instances, see [`overload`][^research].
|
|
//!
|
|
//! [^production]: instances expected to be used in production.
|
|
//!
|
|
//! [^research]: instances used for research purposes to enhance the abstract interfaces.
|
|
//!
|
|
//! [`MonadFail<E>`]: super::fail::MonadFail
|
|
//! [`Monad`]: super::Monad
|
|
|
|
pub mod composition;
|
|
pub mod effect;
|
|
pub mod future;
|
|
pub mod lazy;
|
|
pub mod option;
|
|
pub mod overload;
|
|
pub mod result;
|
|
pub mod solo;
|
|
pub mod stackless;
|
|
pub mod tryfuture;
|