Expand description

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 mod containing the foldable type classes

Applicative implementations and tests

Foldable implementations and tests

Functor implementations and tests

Monad implementations and tests

Monoid implementations and tests

Semigroup implementations and tests

Traits

Applicative type class

Functor type class

Higher kinded Type helper for M -> M

Higher Kinded Type helper for M -> M

Monad type class

Monoid type class extends the Semigroup and adds an empty function for the type

Semigroup type class