UnwriterT

final case
class UnwriterT[F[_], U, A](run: F[(U, A)])

This data type is isomorphic to WriterT, however, it is NOT a monad.

It implements flatMap+map and drops the write value. There is no Monoid or Semigroup required. There is no point operation. You can switch between WriterT and UnwriterT with unary_+ and unary_-.

Companion
object
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
UnwriterT[F, U, A]

Value members

Concrete methods

def ap[B](f: => UnwriterT[F, U, A => B])(implicit F: Apply[F]): UnwriterT[F, U, B]
def bimap[C, D](f: U => C, g: A => D)(implicit F: Functor[F]): UnwriterT[F, C, D]
def bitraverse[G[_], C, D](f: U => G[C], g: A => G[D])(implicit G: Applicative[G], F: Traverse[F]): G[UnwriterT[F, C, D]]
def colocal[X](f: U => X)(implicit F: Functor[F]): UnwriterT[F, X, A]
def flatMap[B](f: A => UnwriterT[F, U, B])(implicit F: Bind[F]): UnwriterT[F, U, B]
def foldRight[B](z: => B)(f: (A, => B) => B)(implicit F: Foldable[F]): B
def leftMap[C](f: U => C)(implicit F: Functor[F]): UnwriterT[F, C, A]
def map[B](f: A => B)(implicit F: Functor[F]): UnwriterT[F, U, B]
def mapT[G[_], V, B](f: F[(U, A)] => G[(V, B)]): UnwriterT[G, V, B]
def mapUnwritten[X](f: U => X)(implicit F: Functor[F]): UnwriterT[F, X, A]
def mapValue[X, B](f: (U, A) => (X, B))(implicit F: Functor[F]): UnwriterT[F, X, B]
def on: WriterT[F, U, A]
def swap(implicit F: Functor[F]): UnwriterT[F, A, U]
def traverse[G[_], B](f: A => G[B])(implicit G: Applicative[G], F: Traverse[F]): G[UnwriterT[F, U, B]]
def unary_+: WriterT[F, U, A]

alias for on

alias for on

def unwritten(implicit F: Functor[F]): F[U]
def value(implicit F: Functor[F]): F[A]
def wpoint[G[_]](implicit F: Functor[F], P: Applicative[G]): UnwriterT[F, G[U], A]

Inherited methods

def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product