Back to Fpinscala

04.Answer

answerkey/monads/04.answer.md

latest234 B
Original Source
scala
def replicateMRecursive[A](n: Int, fa: F[A]): F[List[A]] =
  if n <= 0 then unit(Nil)
  else fa.map2(replicateMRecursive(n - 1, fa))(_ :: _)

def replicateM[A](n: Int, fa: F[A]): F[List[A]] =
  sequence(List.fill(n)(fa))