Frust

Functional programming in Rust. Still largely a WIP.
General idea
Hopefully, make things easier by allowing stuff like this:
use *;
let v = vec!;
assert_eq!;
// Slightly more magical
let t1 = ;
let t2 = ;
let t3 = ;
let tuples = vec!;
let expected = ;
assert_eq!;
Todo
Lots, but for starters, these are not implemented at all, nor do I know for sure if they are possible given that Rust has no support for Higher Kinded Types.
FunctorMonadApplyApplicative
Show, Monoid, and Semigroup are at least partially (mostly?) implemented.
Benchmarks would be nice but they're an unstable feature, so perhaps in a different branch.
Inspirations
Scalaz, Cats, Haskell, the usual suspects ;)
Contributing
Yes please !
The following are considered important, in keeping with the spirit of Rust and functional programming:
- Safety (type and memory)
- Efficiency
- Correctness