Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. override def run(args: List[String]): IO[ExitCode] = {
  2. recurr[IO](5, List.empty)
  3. .flatMap { ns =>
  4. Iterant.fromList(ns)
  5. }
  6. .take(2)
  7. .map(println)
  8. .toListL
  9. .map(_ => ExitCode.Success)
  10. }
  11.  
  12. def recurr[F[_]: Sync](count: Int, acc: List[Int]): Iterant[F, List[Int]] = {
  13. println(s"recurr($count)")
  14. if (count > 0) recurr(count -1, count :: acc)
  15. else Iterant.eval(acc)
  16. }
  17.  
  18. def recurr1[F[_]: Sync](count: Int, acc: List[Int]): Iterant[F, List[Int]] = Iterant.suspend {
  19. println(s"recurr($count)")
  20. if (count > 0) recurr(count -1, count :: acc)
  21. else Iterant.eval(acc)
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement