IndexedStateT

sealed abstract
class IndexedStateT[S1, S2, F[_], A]
Companion
object
class Object
trait Matchable
class Any
IndexedStateT[S1, S2, F, A]

Value members

Concrete methods

@tailrec
final
def apply(initial: S1)(implicit F: Bind[F]): F[(S2, A)]

Run and return the final value and state in the context of F

Run and return the final value and state in the context of F

def bimap[X, B](f: S2 => X)(g: A => B)(implicit F: Applicative[F]): IndexedStateT[S1, X, F, B]
def bmap[X, S](b: Bijection[S, X])(implicit F: Applicative[F], S1: Liskov[S, S1], S2: S >~> S2): StateT[X, F, A]
def contramap[X](g: X => S1)(implicit F: Applicative[F]): IndexedStateT[X, S2, F, A]
def eval(initial: S1)(implicit F: Bind[F]): F[A]

Run, discard the final state, and return the final value in the context of F

Run, discard the final state, and return the final value in the context of F

def evalRec(initial: S1)(implicit F: BindRec[F]): F[A]

Run, discard the final state, and return the final value in the context of F

Run, discard the final state, and return the final value in the context of F

def evalZero(implicit F: Bind[F], S1: Monoid[S1]): F[A]

Calls eval using Monoid[S].zero as the initial state

Calls eval using Monoid[S].zero as the initial state

def evalZeroRec(implicit F: BindRec[F], S1: Monoid[S1]): F[A]

Calls eval using Monoid[S].zero as the initial state

Calls eval using Monoid[S].zero as the initial state

def exec(initial: S1)(implicit F: Bind[F]): F[S2]

Run, discard the final value, and return the final state in the context of F

Run, discard the final value, and return the final state in the context of F

def execRec(initial: S1)(implicit F: BindRec[F]): F[S2]

Run, discard the final value, and return the final state in the context of F

Run, discard the final value, and return the final state in the context of F

def execZero(implicit F: Bind[F], S1: Monoid[S1]): F[S2]

Calls exec using Monoid[S].zero as the initial state

Calls exec using Monoid[S].zero as the initial state

def execZeroRec(implicit F: BindRec[F], S1: Monoid[S1]): F[S2]

Calls exec using Monoid[S].zero as the initial state

Calls exec using Monoid[S].zero as the initial state

def flatMap[S3, B](f: A => IndexedStateT[S2, S3, F, B]): IndexedStateT[S1, S3, F, B]
def imap[X](f: S2 => X)(implicit F: Applicative[F]): IndexedStateT[S1, X, F, A]
def leftMap[X](f: S2 => X)(implicit F: Applicative[F]): IndexedStateT[S1, X, F, A]
def lift[M[_]](implicit F: Bind[F], M: Applicative[M]): IndexedStateT[S1, S2, [α] =>> M[F[α]], A]
def liftF: Free[[_] =>> IndexedStateT[S1, S2, F, _$17], A]
def map[B](f: A => B)(implicit F: Applicative[F]): IndexedStateT[S1, S2, F, B]
def mapK[G[_], B, S](f: F[(S2, A)] => G[(S, B)])(implicit M: Monad[F]): IndexedStateT[S1, S, G, B]

Alias for mapT

Alias for mapT

def mapT[G[_], B, S](f: F[(S2, A)] => G[(S, B)])(implicit M: Monad[F]): IndexedStateT[S1, S, G, B]

Map both the return value and final state using the given function.

Map both the return value and final state using the given function.

def run(initial: S1)(implicit F: Bind[F]): F[(S2, A)]

An alias for apply

An alias for apply

def runRec(initial: S1)(implicit F: BindRec[F]): F[(S2, A)]

Run and return the final value and state in the context of F

Run and return the final value and state in the context of F

def runZero(implicit S1: Monoid[S1], F: Bind[F]): F[(S2, A)]

Calls run using Monoid[S].zero as the initial state

Calls run using Monoid[S].zero as the initial state

def runZeroRec(implicit S1: Monoid[S1], F: BindRec[F]): F[(S2, A)]

Calls run using Monoid[S].zero as the initial state

Calls run using Monoid[S].zero as the initial state

def rwst[W, R](implicit F: Bind[F], W: Monoid[W]): IndexedReaderWriterStateT[R, W, S1, S2, F, A]
def unlift[M[_], FF[_], S <: S1](implicit M: Comonad[M], F: Bind[[α] =>> M[FF[α]]], ev: Liskov[IndexedStateT[S1, S2, F, A], IndexedStateT[S, S2, [α] =>> M[FF[α]], A]]): IndexedStateT[S, S2, FF, A]
def unliftId[M[_], S <: S1](implicit M: Comonad[M], F: Bind[M], ev: Liskov[IndexedStateT[S1, S2, F, A], IndexedStateT[S, S2, M, A]]): IndexedState[S, S2, A]
def xmap[X1, X2](f: S2 => X1)(g: X2 => S1)(implicit F: Applicative[F]): IndexedStateT[X2, X1, F, A]
def zoom[S0, S3, S <: S1](l: LensFamily[S0, S3, S, S2])(implicit F: Applicative[F]): IndexedStateT[S0, S3, F, A]