[−][src]Crate funlib
Functional Libary for Rust
This is still a work in progess..
Functor
use funlib::Functor; let s = Some(3).fmap(|&a| a * 2); // this will produce Some(6)
Monad
use funlib::Monad; let s = Some(3).bind(|&a| Some(a * 2)); // this will produce Some(6)
Modules
Foldable | Foldable mod containing the foldable type classes |
applicative | Applicative implementations and tests |
foldable | Foldable implementations and tests |
functor | Functor implementations and tests |
macros | Macros for use with the functional library |
monad | Monad implementations and tests |
monoid | Monoid implementations and tests |
semigroup | Semigroup implementations and tests |
Macros
compose | Compose functions |
derive_hkt | Derive HKT macro to create Higer Kinded Types |
Traits
Applicative | Applicative type class |
Functor | Functor type class |
HKST | Higher kinded Type helper for M -> M |
HKT | Higher Kinded Type helper for M -> M |
Monad | Monad type class |
Monoid | Monoid type class extends the Semigroup and adds an empty function for the type |
Semigroup | Semigroup type class |