Stomaton

edomata.core.Stomaton
See theStomaton companion object
final case class Stomaton[F[_], -Env, S, R, E, A](run: (Env, S) => F[ResponseE[R, E, (S, A)]]) extends AnyVal

Attributes

Companion:
object
Source:
Stomaton.scala
Graph
Supertypes
trait Product
trait Equals
class AnyVal
trait Matchable
class Any

Members list

Concise view

Value members

Concrete methods

inline def >>[Env2 <: Env, B](f: => Stomaton[F, Env2, S, R, E, B])(using Monad[F]): Stomaton[F, Env2, S, R, E, B]

Attributes

Source:
Stomaton.scala
inline def >>=[Env2 <: Env, B](f: A => Stomaton[F, Env2, S, R, E, B])(using Monad[F]): Stomaton[F, Env2, S, R, E, B]

Attributes

Source:
Stomaton.scala
inline def andThen[Env2 <: Env, B](f: => Stomaton[F, Env2, S, R, E, B])(using Monad[F]): Stomaton[F, Env2, S, R, E, B]

Attributes

Source:
Stomaton.scala
def contramap[Env2](f: Env2 => Env): Stomaton[F, Env2, S, R, E, A]

creates a new stomaton that translates some input to what this stomaton can understand

creates a new stomaton that translates some input to what this stomaton can understand

Attributes

Source:
Stomaton.scala
def decide[B](f: A => EitherNec[R, B])(using Monad[F]): Stomaton[F, Env, S, R, E, B]

Attributes

Source:
Stomaton.scala
def decideS(f: S => EitherNec[R, S])(using Monad[F]): Stomaton[F, Env, S, R, E, S]

Attributes

Source:
Stomaton.scala
def flatMap[Env2 <: Env, B](f: A => Stomaton[F, Env2, S, R, E, B])(using Monad[F]): Stomaton[F, Env2, S, R, E, B]

binds another stomaton to this one.

binds another stomaton to this one.

Attributes

Source:
Stomaton.scala
def handleErrorWith[Env2 <: Env](f: Type[R] => Stomaton[F, Env2, S, R, E, A])(using Monad[F]): Stomaton[F, Env2, S, R, E, A]

Attributes

Source:
Stomaton.scala
def map[B](f: A => B)(using Functor[F]): Stomaton[F, Env, S, R, E, B]

maps output result

maps output result

Attributes

Source:
Stomaton.scala
def mapK[G[_]](fk: FunctionK[F, G]): Stomaton[G, Env, S, R, E, A]

translates this program in another language mapped by a natural transformation

translates this program in another language mapped by a natural transformation

Attributes

Source:
Stomaton.scala
def modify(f: S => S)(using Functor[F]): Stomaton[F, Env, S, R, E, A]

Attributes

Source:
Stomaton.scala
def publish(ns: E*)(using Functor[F]): Stomaton[F, Env, S, R, E, A]

Adds notification without considering decision state

Adds notification without considering decision state

Attributes

Source:
Stomaton.scala
def publishOnRejection(ns: E*)(using Functor[F]): Stomaton[F, Env, S, R, E, A]

publishes these notifications if this edomaton is rejected

publishes these notifications if this edomaton is rejected

Attributes

Source:
Stomaton.scala
def publishOnRejectionWith(f: Type[R] => Seq[E])(using Functor[F]): Stomaton[F, Env, S, R, E, A]

If this edomaton is rejected, uses given function to decide what to publish

If this edomaton is rejected, uses given function to decide what to publish

Attributes

Source:
Stomaton.scala
def set(s: S)(using Functor[F]): Stomaton[F, Env, S, R, E, A]

Attributes

Source:
Stomaton.scala
def transform[R2 >: R, E2 >: E, B](f: ResponseE[R, E, (S, A)] => ResponseE[R2, E2, (S, B)])(using Functor[F]): Stomaton[F, Env, S, R2, E2, B]

transforms underlying response

transforms underlying response

Attributes

Source:
Stomaton.scala

Inherited methods

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product