From 851dca6a28103bfe73ecaf35863b60c751b701f3 Mon Sep 17 00:00:00 2001 From: julien Date: Tue, 14 Aug 2018 16:47:02 +0100 Subject: [PATCH] use as and void instead of map(_ => ) --- core/src/main/scala/cats/FlatMap.scala | 2 +- core/src/main/scala/cats/Functor.scala | 2 +- core/src/main/scala/cats/Reducible.scala | 4 ++-- core/src/main/scala/cats/data/Kleisli.scala | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/src/main/scala/cats/FlatMap.scala b/core/src/main/scala/cats/FlatMap.scala index 045e7c128d..c7c3cb5024 100644 --- a/core/src/main/scala/cats/FlatMap.scala +++ b/core/src/main/scala/cats/FlatMap.scala @@ -140,5 +140,5 @@ import simulacrum.noop * }}} */ def flatTap[A, B](fa: F[A])(f: A => F[B]): F[A] = - flatMap(fa)(a => map(f(a))(_ => a)) + flatMap(fa)(a => as(f(a), a)) } diff --git a/core/src/main/scala/cats/Functor.scala b/core/src/main/scala/cats/Functor.scala index 2a09578bcb..d6d0cace52 100644 --- a/core/src/main/scala/cats/Functor.scala +++ b/core/src/main/scala/cats/Functor.scala @@ -53,7 +53,7 @@ import simulacrum.typeclass /** * Empty the fa of the values, preserving the structure */ - def void[A](fa: F[A]): F[Unit] = map(fa)(_ => ()) + def void[A](fa: F[A]): F[Unit] = as(fa, ()) /** * Tuple the values in fa with the result of applying a function diff --git a/core/src/main/scala/cats/Reducible.scala b/core/src/main/scala/cats/Reducible.scala index c0949eb1f7..7a7a6173a6 100644 --- a/core/src/main/scala/cats/Reducible.scala +++ b/core/src/main/scala/cats/Reducible.scala @@ -127,7 +127,7 @@ import simulacrum.typeclass * the traversal. */ def nonEmptyTraverse_[G[_], A, B](fa: F[A])(f: A => G[B])(implicit G: Apply[G]): G[Unit] = - G.map(reduceLeftTo(fa)(f)((x, y) => G.map2(x, f(y))((_, b) => b)))(_ => ()) + G.void(reduceLeftTo(fa)(f)((x, y) => G.map2(x, f(y))((_, b) => b))) /** * Sequence `F[G[A]]` using `Apply[G]`. @@ -137,7 +137,7 @@ import simulacrum.typeclass * [[nonEmptyTraverse_]] documentation for a description of the differences. */ def nonEmptySequence_[G[_], A](fga: F[G[A]])(implicit G: Apply[G]): G[Unit] = - G.map(reduceLeft(fga)((x, y) => G.map2(x, y)((_, b) => b)))(_ => ()) + G.void(reduceLeft(fga)((x, y) => G.map2(x, y)((_, b) => b))) def toNonEmptyList[A](fa: F[A]): NonEmptyList[A] = reduceRightTo(fa)(a => NonEmptyList(a, Nil)) { (a, lnel) => diff --git a/core/src/main/scala/cats/data/Kleisli.scala b/core/src/main/scala/cats/data/Kleisli.scala index 31dd14df48..3de50bf77c 100644 --- a/core/src/main/scala/cats/data/Kleisli.scala +++ b/core/src/main/scala/cats/data/Kleisli.scala @@ -69,7 +69,7 @@ final case class Kleisli[F[_], A, B](run: A => F[B]) { self => /** Discard computed B and yield the input value. */ def tap(implicit F: Functor[F]): Kleisli[F, A, A] = - Kleisli(a => F.map(run(a))(_ => a)) + Kleisli(a => F.as(run(a), a)) /** Yield computed B combined with input value. */ def tapWith[C](f: (A, B) => C)(implicit F: Functor[F]): Kleisli[F, A, C] =