Slide 26
Slide 26 text
Tuples are magical!
And if we have a Semigroup for the Metadata, we can flatMap
too!
val person: Annotated[Person] = (List("log1"), Person("Bob", 23))
val flatMapped: Annotated[Person] =
for {
p <- person
newP <- (List("log2"), p.copy(age = 24))
} yield newP
flatMapped = (List("log1", "log2"), Person("Bob", 24))
Itamar Ravid - @itrvd 26