31 lines
904 B
Rust
31 lines
904 B
Rust
//! Implementation of some basic classes (in Haskell's meaning of a class).
|
|
//!
|
|
//! To get an understanding of what classes are about, see [`option`].
|
|
//!
|
|
//! For [`MonadFail<E>`] examples, see [`result`][^research].
|
|
//!
|
|
//! For the simplest form (even ChatGPT can understand it! lol) of [`Monad`], see [`solo`][^production].
|
|
//!
|
|
//! For async support, see [`future`][^production][^research].
|
|
//!
|
|
//! For "creative" execution models, see [`lazy`][^research] and [`stackless`][^research].
|
|
//!
|
|
//! To see when not to use [Monad]s, see [`composition`][^research].
|
|
//!
|
|
//! [^production]: classes expected to be used in production.
|
|
//!
|
|
//! [^research]: classes used for research purposes to enhance the abstract interfaces.
|
|
|
|
#[cfg(doc)]
|
|
use crate::func::*;
|
|
|
|
pub mod composition;
|
|
pub mod effect;
|
|
pub mod future;
|
|
pub mod lazy;
|
|
pub mod option;
|
|
pub mod result;
|
|
pub mod solo;
|
|
pub mod stackless;
|
|
pub mod tryfuture;
|