Back to Fpinscala

09.Answer

answerkey/state/09.answer.md

latest224 B
Original Source
scala
def mapViaFlatMap[A, B](r: Rand[A])(f: A => B): Rand[B] =
  flatMap(r)(a => unit(f(a)))

def map2ViaFlatMap[A, B, C](ra: Rand[A], rb: Rand[B])(f: (A, B) => C): Rand[C] =
  flatMap(ra)(a => map(rb)(b => f(a, b)))