start on monad section

master
Andrew Johnson 6 years ago
parent 3cca03f606
commit 20221e4b08

@ -1,4 +1,17 @@
fn main() fn main()
{ {
let v1 = Some(2).and_then(|x| Some(x+x)).and_then(|y| Some(y*y));
println!("{:?}", v1);
let v2 = None.or_else(|| None).or_else(|| Some(222));
println!("{:?}", v2);
let v3 = Some(2).and_then(|x| Some("abc"));
println!("{:?}", v3);
// or_else is not quite a monad
// does not permit polymorphic bind
//let v4 = Some(2).or_else(|| Some("abc"));
//println!("{:?}", v4);
} }

Loading…
Cancel
Save