fp_library/
types.rs

1//! Concrete data types, their corresponding implementations and type aliases.
2//!
3//! This module provides implementations of various functional programming
4//! data structures and wrappers, including `Identity`, `Lazy`, and extensions
5//! for standard library types like `Option` and `Result`.
6//!
7//! ### Examples
8//!
9//! ```
10//! use fp_library::types::Identity;
11//!
12//! let x = Identity(5);
13//! assert_eq!(x.0, 5);
14//! ```
15
16pub mod arc_ptr;
17pub mod endofunction;
18pub mod endomorphism;
19pub mod fn_brand;
20pub mod identity;
21pub mod lazy;
22pub mod once_cell;
23pub mod once_lock;
24pub mod option;
25pub mod pair;
26pub mod rc_ptr;
27pub mod result;
28pub mod send_endofunction;
29pub mod string;
30pub mod vec;
31
32pub use endofunction::Endofunction;
33pub use endomorphism::Endomorphism;
34pub use identity::Identity;
35pub use lazy::{ArcLazy, ArcLazyConfig, Lazy, LazyConfig, LazyError, RcLazy, RcLazyConfig};
36pub use pair::Pair;
37pub use send_endofunction::SendEndofunction;