kinder 0.1.3

Kinder is a small crate which adds an algebraic structure to common Rust structs and emulates higher order types
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
extern crate kinder;
use kinder::lift::{SemiGroup, Functor};

fn fmap_vec(vec: &Vec<i32>) -> Vec<i32> {
    vec.fmap(|x| x*x) //square all elements in a vec<i32>
}

fn append_vec(vec: &Vec<i32>, two: &Vec<i32>) -> Vec<i32> {
    vec.add(two)
}

fn main() {
    let vec = vec!(1,2,3);
    let two = vec!(4,5,6);

    println!("{:?}", fmap_vec(&vec));
    println!("{:?}", append_vec(&vec, &two));
}