Kleisli

object Kleisli extends KleisliInstances
Companion
class

Type members

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror

Value members

Concrete methods

def ask[M[_] : Applicative, A]: Kleisli[M, A, A]

Pure Kleisli arrow

Pure Kleisli arrow

def iso[D[_], I, O[_]](instance: NaturalTransformation[[a] =>> I => O[a], D], decode: NaturalTransformation[D, [a] =>> I => O[a]]): IsoFunctor[D, [_] =>> Kleisli[O, I, _$86]]
def kleisli[M[_], A, B](f: A => M[B]): Kleisli[M, A, B]

Construct a Kleisli from a Function1

Construct a Kleisli from a Function1

def kleisliU[A, MB](f: A => MB)(implicit MB: Unapply[[F[_]] =>> Bind[F], MB]): Kleisli[M, A, A]

A version of kleisli that infers the type constructor M, when M is Bind

A version of kleisli that infers the type constructor M, when M is Bind

Example
Kleisli.kleisliU{s: String => try \/-(s.toInt) catch{ case e: NumberFormatException => -\/(e) }}
def local[M[_], A, R](f: R => R)(fa: Kleisli[M, R, A]): Kleisli[M, R, A]

Inherited methods

def kleisliPlusEmpty[F[_], A](implicit F0: PlusEmpty[F]): PlusEmpty[[_] =>> Kleisli[F, A, _$76]]
Inherited from
KleisliInstances

Implicits

Implicits

implicit
def kleisliFn[M[_], A, B](k: Kleisli[M, A, B]): A => M[B]

Implicitly unwrap the Function1 represented by the Kleisli

Implicitly unwrap the Function1 represented by the Kleisli

Inherited implicits

implicit
def kleisliApplicative[F[_], R](implicit F0: Applicative[F]): Applicative[[_] =>> Kleisli[F, R, _$37]]
Inherited from
KleisliInstances8
implicit
def kleisliApplicativePlus[F[_], R](implicit F0: ApplicativePlus[F]): ApplicativePlus[[_] =>> Kleisli[F, R, _$45]]
Inherited from
KleisliInstances6
implicit
def kleisliApply[F[_], R](implicit F0: Apply[F]): Apply[[_] =>> Kleisli[F, R, _$28]]
Inherited from
KleisliInstances12
implicit
def kleisliArrow[F[_]](implicit F0: Monad[F]): Arrow[[_, _] =>> Kleisli[F, _$67, _$68]] & Choice[[_, _] =>> Kleisli[F, _$69, _$70]]
Inherited from
KleisliInstances
implicit
def kleisliBind[F[_], R](implicit F0: Bind[F]): Bind[[_] =>> Kleisli[F, R, _$32]]
Inherited from
KleisliInstances10
implicit
def kleisliBindRec[F[_], R](implicit F0: BindRec[F]): BindRec[[_] =>> Kleisli[F, R, _$41]]
Inherited from
KleisliInstances7
implicit
def kleisliCatchable[F[_], A](implicit F0: Catchable[F]): Catchable[[_] =>> Kleisli[F, A, _$79]]
Inherited from
KleisliInstances
implicit
def kleisliCompose[F[_]](implicit F0: Bind[F]): Compose[[_, _] =>> Kleisli[F, _$64, _$65]]
Inherited from
KleisliInstances0
implicit
def kleisliContravariant[F[_], A]: Contravariant[[_] =>> Kleisli[F, _$72, A]]
Inherited from
KleisliInstances
implicit
def kleisliDistributive[F[_], R](implicit F0: Distributive[F]): Distributive[[_] =>> Kleisli[F, R, _$30]]
Inherited from
KleisliInstances11
implicit
def kleisliFunctor[F[_], R](implicit F0: Functor[F]): Functor[[_] =>> Kleisli[F, R, _$26]]
Inherited from
KleisliInstances13
implicit
def kleisliIdApplicative[R]: Applicative[[_] =>> Kleisli[Id, R, _$55]]
Inherited from
KleisliInstances1
implicit
def kleisliIdApply[R]: Apply[[_] =>> Kleisli[Id, R, _$59]]
Inherited from
KleisliInstances0
implicit
def kleisliIdFunctor[R]: Functor[[_] =>> Kleisli[Id, R, _$54]]
Inherited from
KleisliInstances2
implicit
def kleisliIdMonadReader[R]: MonadReader[[_] =>> Kleisli[Id, R, _$73], R]
Inherited from
KleisliInstances
implicit
def kleisliMonadError[F[_], E, R](implicit F0: MonadError[F, E]): MonadError[[_] =>> Kleisli[F, R, _$49], E]
Inherited from
KleisliInstances5
implicit
def kleisliMonadPlus[F[_], A](implicit F0: MonadPlus[F]): MonadPlus[[_] =>> Kleisli[F, A, _$51]]
Inherited from
KleisliInstances4
implicit
def kleisliMonadReader[F[_], R](implicit F0: Monad[F]): MonadReader[[_] =>> Kleisli[F, R, _$53], R]
Inherited from
KleisliInstances3
implicit
def kleisliMonadTrans[R]: Hoist[[α[_], β] =>> Kleisli[α, R, β]]
Inherited from
KleisliInstances
implicit
def kleisliMonoid[F[_], A, B](implicit FB0: Monoid[F[B]]): Monoid[Kleisli[F, A, B]]
Inherited from
KleisliInstances
implicit
def kleisliPlus[F[_], A](implicit F0: Plus[F]): Plus[[_] =>> Kleisli[F, A, _$39]]
Inherited from
KleisliInstances8
implicit
def kleisliPlusEmpty0[F[_], A](implicit F0: PlusEmpty[F]): PlusEmpty[[_] =>> Kleisli[F, A, _$43]]
Inherited from
KleisliInstances7
implicit
def kleisliProChoice[F[_]](implicit F0: Applicative[F]): ProChoice[[_, _] =>> Kleisli[F, _$61, _$62]]
Inherited from
KleisliInstances0
implicit
def kleisliSemigroup[F[_], A, B](implicit FB0: Semigroup[F[B]]): Semigroup[Kleisli[F, A, B]]
Inherited from
KleisliInstances6
implicit
def kleisliStrong[F[_] : Functor]: Strong[[_, _] =>> Kleisli[F, _$57, _$58]]
Inherited from
KleisliInstances1
implicit
def kleisliZip[F[_], R](implicit F: Zip[F]): Zip[[_] =>> Kleisli[F, R, _$34]]
Inherited from
KleisliInstances9