Skip to content

Instantly share code, notes, and snippets.

@sullivan-
Last active December 13, 2015 23:19
Person.persons foreach { p =>
// left unit
assert((Just(p) flatMap { _.mother }) == p.mother)
}
val maybes = MaybeNot +: (Person.persons map { Just(_) })
maybes foreach { m =>
// right unit
assert((m flatMap { Just(_) }) == m)
// associativity
assert(
(m flatMap { _.mother } flatMap { _.father }) ==
(m flatMap { _.mother flatMap { _.father } }))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment