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, _$89]]
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]

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 kleisliAlt[F[_] : Applicative, A]: Alt[[_] =>> Kleisli[F, A, _$53]]
Inherited from
KleisliInstances5
implicit
def kleisliApplicative[F[_], R](implicit F0: Applicative[F]): Applicative[[_] =>> Kleisli[F, R, _$39]]
Inherited from
KleisliInstances8
implicit
def kleisliApplicativePlus[F[_], R](implicit F0: ApplicativePlus[F]): ApplicativePlus[[_] =>> Kleisli[F, R, _$47]]
Inherited from
KleisliInstances6
implicit
def kleisliApply[F[_], R](implicit F0: Apply[F]): Apply[[_] =>> Kleisli[F, R, _$30]]
Inherited from
KleisliInstances12
implicit
def kleisliArrow[F[_]](implicit F0: Monad[F]): Arrow[[_, _] =>> Kleisli[F, _$72, _$73]] & Choice[[_, _] =>> Kleisli[F, _$74, _$75]]
Inherited from
KleisliInstances
implicit
def kleisliBind[F[_], R](implicit F0: Bind[F]): Bind[[_] =>> Kleisli[F, R, _$34]]
Inherited from
KleisliInstances10
implicit
def kleisliBindRec[F[_], R](implicit F0: BindRec[F]): BindRec[[_] =>> Kleisli[F, R, _$43]]
Inherited from
KleisliInstances7
implicit
def kleisliCatchable[F[_], A](implicit F0: Catchable[F]): Catchable[[_] =>> Kleisli[F, A, _$82]]
Inherited from
KleisliInstances
implicit
def kleisliCompose[F[_]](implicit F0: Bind[F]): Compose[[_, _] =>> Kleisli[F, _$69, _$70]]
Inherited from
KleisliInstances0
implicit
def kleisliContravariant[F[_], A]: Contravariant[[_] =>> Kleisli[F, _$77, A]]
Inherited from
KleisliInstances
implicit
def kleisliDecidable[F[_], R](implicit F0: Decidable[F]): Decidable[[_] =>> Kleisli[F, R, _$26]]
Inherited from
KleisliInstances14
implicit
def kleisliDistributive[F[_], R](implicit F0: Distributive[F]): Distributive[[_] =>> Kleisli[F, R, _$32]]
Inherited from
KleisliInstances11
implicit
def kleisliDivisible[F[_], R](implicit F0: Divisible[F]): Divisible[[_] =>> Kleisli[F, R, _$24]]
Inherited from
KleisliInstances15
implicit
def kleisliFunctor[F[_], R](implicit F0: Functor[F]): Functor[[_] =>> Kleisli[F, R, _$28]]
Inherited from
KleisliInstances13
implicit
def kleisliIdApplicative[R]: Applicative[[_] =>> Kleisli[Id, R, _$60]]
Inherited from
KleisliInstances1
implicit
def kleisliIdApply[R]: Apply[[_] =>> Kleisli[Id, R, _$64]]
Inherited from
KleisliInstances0
implicit
def kleisliIdFunctor[R]: Functor[[_] =>> Kleisli[Id, R, _$59]]
Inherited from
KleisliInstances2
implicit
def kleisliIdMonadReader[R]: MonadReader[[_] =>> Kleisli[Id, R, _$78], R]
Inherited from
KleisliInstances
implicit
def kleisliMonadError[F[_], E, R](implicit F0: MonadError[F, E]): MonadError[[_] =>> Kleisli[F, R, _$51], E]
Inherited from
KleisliInstances5
implicit
def kleisliMonadPlus[F[_], A](implicit F0: MonadPlus[F]): MonadPlus[[_] =>> Kleisli[F, A, _$56]]
Inherited from
KleisliInstances4
implicit
def kleisliMonadReader[F[_], R](implicit F0: Monad[F]): MonadReader[[_] =>> Kleisli[F, R, _$58], 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, _$41]]
Inherited from
KleisliInstances8
implicit
def kleisliPlusEmpty[F[_], A](implicit F0: PlusEmpty[F]): PlusEmpty[[_] =>> Kleisli[F, A, _$45]]
Inherited from
KleisliInstances7
implicit
def kleisliProChoice[F[_]](implicit F0: Applicative[F]): ProChoice[[_, _] =>> Kleisli[F, _$66, _$67]]
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, _$62, _$63]]
Inherited from
KleisliInstances1
implicit
def kleisliZip[F[_], R](implicit F: Zip[F]): Zip[[_] =>> Kleisli[F, R, _$36]]
Inherited from
KleisliInstances9