Kleisli

final case
class Kleisli[M[_], A, B](run: A => M[B])

Represents a function A => M[B].

Companion
object
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Kleisli[M, A, B]

Value members

Concrete methods

def <=<[C](k: Kleisli[M, C, A])(implicit b: Bind[M]): Kleisli[M, C, B]

alias for compose

alias for compose

def <==<[C](k: C => M[A])(implicit b: Bind[M]): Kleisli[M, C, B]
def =<<(a: M[A])(implicit m: Bind[M]): M[B]
def >==>[C](k: B => M[C])(implicit b: Bind[M]): Kleisli[M, A, C]
def >=>[C](k: Kleisli[M, B, C])(implicit b: Bind[M]): Kleisli[M, A, C]

alias for andThen

alias for andThen

def andThen[C](k: Kleisli[M, B, C])(implicit b: Bind[M]): Kleisli[M, A, C]
def andThenK[C](k: B => M[C])(implicit b: Bind[M]): Kleisli[M, A, C]
def compose[C](k: Kleisli[M, C, A])(implicit b: Bind[M]): Kleisli[M, C, B]
def composeK[C](k: C => M[A])(implicit b: Bind[M]): Kleisli[M, C, B]
def dimap[C, D](f: C => A, g: B => D)(implicit b: Functor[M]): Kleisli[M, C, D]
def endo(implicit M: Functor[M], ev: A >~> B): Endomorphic[[_, _] =>> Kleisli[M, _$17, _$18], A]
def flatMap[C](f: B => Kleisli[M, A, C])(implicit M: Bind[M]): Kleisli[M, A, C]
def flatMapK[C](f: B => M[C])(implicit M: Bind[M]): Kleisli[M, A, C]
def lift[L[_] : Applicative]: Kleisli[[α] =>> L[M[α]], A, B]
def liftF: Free[[_] =>> Kleisli[M, A, _$21], B]
def liftMK[T[_[_], _]](implicit T: MonadTrans[T], M: Monad[M]): Kleisli[[_] =>> T[M, _$15], A, B]
def local[AA](f: AA => A): Kleisli[M, AA, B]
def lower(implicit M: Applicative[M]): Kleisli[M, A, M[B]]
def map[C](f: B => C)(implicit M: Functor[M]): Kleisli[M, A, C]
def mapK[N[_], C](f: M[B] => N[C]): Kleisli[N, A, C]

alias for mapT

alias for mapT

def mapT[N[_], C](f: M[B] => N[C]): Kleisli[N, A, C]
def rwst[W, S](implicit M: Functor[M], W: Monoid[W]): ReaderWriterStateT[A, W, S, M, B]
def state(implicit M: Monad[M]): StateT[A, M, B]
def tap(implicit F: Applicative[M]): Kleisli[M, A, A]
def transform[N[_]](f: NaturalTransformation[M, N]): Kleisli[N, A, B]
def traverse[F[_]](f: F[A])(implicit M: Applicative[M], F: Traverse[F]): M[F[B]]
def unlift[N[_], FF[_]](implicit M: Comonad[N], ev: Liskov[Kleisli[M, A, B], Kleisli[[α] =>> N[FF[α]], A, B]]): Kleisli[FF, A, B]
def unliftId[N[_]](implicit M: Comonad[N], ev: Liskov[Kleisli[M, A, B], Kleisli[N, A, B]]): Reader[A, B]

Inherited methods

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