Skip to main content

Module alternative

Module alternative 

Source
Expand description

Alternative functors, combining Applicative and Plus.

Alternative provides the ability to choose between computations (via Alt) with an identity element (via Plus), combined with applicative lifting (via Applicative).

§Examples

use fp_library::{
	brands::*,
	classes::*,
	functions::*,
};

// guard filters based on a condition
let result: Vec<()> = guard::<VecBrand>(true);
assert_eq!(result, vec![()]);

let result: Vec<()> = guard::<VecBrand>(false);
assert_eq!(result, vec![]);

Traits§

Alternative
A type class combining Applicative and Plus.

Functions§

guard
Fails using Plus if a condition does not hold, or succeeds using Applicative if it does.