Package

org.atnos

eff

Permalink

package eff

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. eff
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type /=[M[_], R] = MemberInOut[M, R]

    Permalink
  2. type <=[M[_], R] = Member[M, R]

    Permalink
  3. case class AppendToCache[A](key: AnyRef, a: () ⇒ A) extends MemoizedSeq[A] with Product with Serializable

    Permalink
  4. case class Arrs[R, A, B](functions: Vector[(Any) ⇒ Eff[R, Any]]) extends (A) ⇒ Eff[R, B] with Product with Serializable

    Permalink

    Sequence of monadic functions from A to B: A => Eff[B]

    Sequence of monadic functions from A to B: A => Eff[B]

    Internally it is represented as a Vector of functions:

    A => Eff[R, X1]; X1 => Eff[R, X2]; X2 => Eff[R, X3]; ...; X3 => Eff[R, B]

  5. sealed trait Async[A] extends Any

    Permalink
  6. trait AsyncCreation extends AnyRef

    Permalink
  7. case class AsyncDelayed[A](a: Eval[A]) extends Async[A] with Product with Serializable

    Permalink
  8. case class AsyncEff[A](e: Eff[FS, A], timeout: Option[FiniteDuration] = None) extends Async[A] with Product with Serializable

    Permalink
  9. trait AsyncEffect extends AsyncCreation

    Permalink
  10. case class AsyncFailed[A](t: Throwable) extends Async[A] with Product with Serializable

    Permalink
  11. case class AsyncFutureInterpreter(executors: ExecutorServices) extends AsyncInterpreter[Future] with Product with Serializable

    Permalink
  12. trait AsyncInterpretation extends AnyRef

    Permalink
  13. trait AsyncInterpreter[F[_]] extends AnyRef

    Permalink
  14. case class AsyncNow[A](a: A) extends Async[A] with Product with Serializable

    Permalink
  15. final class AsyncOps[R, A] extends AnyVal

    Permalink
  16. trait Augment[T[_], O[_]] extends AnyRef

    Permalink
  17. trait Batch extends AnyRef

    Permalink

    This trait provides a way to rewrite applicative effects when there is an operation allowing the batching of some effects based on the Batchable typeclass

  18. trait Batchable[T[_]] extends AnyRef

    Permalink
  19. trait Cache extends AnyRef

    Permalink

    This cache is used to memoize values for the Memoized effect

  20. sealed trait Choose[T] extends AnyRef

    Permalink
  21. trait ChooseCreation extends AnyRef

    Permalink
  22. trait ChooseEffect extends ChooseCreation with ChooseInterpretation

    Permalink

    The Choose effect models non-determinism So we can get results, either:

    The Choose effect models non-determinism So we can get results, either:

    • no results (when using ChooseZero)
    • the result for action1 or the result for action b (when using ChoosePlus)

    When running this effect we can "collect" the results with any F which has an Alternative instance.

    For example if F is List then:

    • no results is the empty list
    • the result for a or b is List(a, b)

    If F is Option then:

    • no results is the None
    • the result for a or b is Some(a) or Some(b
  23. trait ChooseImplicits extends AnyRef

    Permalink
  24. trait ChooseInterpretation extends AnyRef

    Permalink
  25. case class ChooseZero[T]() extends Choose[T] with Product with Serializable

    Permalink
  26. case class CloseCache(key: AnyRef) extends MemoizedSeq[SequenceCache] with Product with Serializable

    Permalink
  27. case class ClosedMemoizedSequence(headOption: Option[Eval[Any]], tail: List[Eval[Any]] = Nil) extends MemoizedSequence with Product with Serializable

    Permalink
  28. case class CollectedUnions[M[_], R, U](effects: List[M[Any]], otherEffects: List[Union[U, Any]], indices: List[Int], otherIndices: List[Int]) extends Product with Serializable

    Permalink

    Collection of effects of a given type from a Unions objects

  29. case class ConcurrentHashMapCache(map: ConcurrentHashMap[Int, Eval[Any]] = ...) extends Cache with Product with Serializable

    Permalink
  30. case class ConcurrentHashMapSequenceCache(map: ConcurrentHashMap[Int, MemoizedSequence] = ...) extends SequenceCache with Product with Serializable

    Permalink

    Implementation of a SequenceCache with a concurrent hashmap (unbounded, be careful!)

  31. class ConcurrentWeakIdentityHashMap[K, V] extends ConcurrentMap[K, V]

    Permalink

  32. case class ConcurrentWeakIdentityHashMapCache(map: ConcurrentWeakIdentityHashMap[AnyRef, Eval[Any]] = ...) extends Cache with Product with Serializable

    Permalink
  33. case class ConcurrentWeakIdentityHashMapSequenceCache(map: ConcurrentWeakIdentityHashMap[AnyRef, MemoizedSequence] = ...) extends SequenceCache with Product with Serializable

    Permalink

    Implementation of a SequenceCache with a concurrent weak identity hashmap (unbounded, be careful!)

  34. case class Correct[E]() extends Validate[E, Unit] with Product with Serializable

    Permalink
  35. sealed trait Eff[R, A] extends AnyRef

    Permalink

    Effects of type R, returning a value of type A

    Effects of type R, returning a value of type A

    It is implemented as a "Free-er" monad with extensible effects:

    • the "pure" case is a pure value of type A
    • the "impure" case is:
      • a disjoint union of possible effects
      • a continuation of type X => Eff[R, A] indicating what to do if the current effect is of type M[X] this type is represented by the Arrs type
    • the "impure applicative" case is:
      • list of disjoint unions of possible effects
      • a function to apply to the values resulting from those effects

    The monad implementation for this type is really simple:

    • point is Pure
    • bind simply appends the binding function to the Arrs continuation

    Important:

    The list of continuations is NOT implemented as a type sequence but simply as a Vector[Any => Eff[R, Any]]

    This means that various .asInstanceOf are present in the implementation and could lead to burns and severe harm. Use with caution!

    Similarly the list of effects in the applicative case is untyped and interpreters for those effects are supposed to create a list of values to feed the mapping function. If an interpreter doesn't create a list of values of the right size and with the right types, there will be a runtime exception.

    The Pure, Impure and ImpureAp cases also incorporate a "last" action returning no value but just used for side-effects (shutting down an execution context for example). This action is meant to be executed at the end of all computations, regardless of the number of flatMaps added on the Eff value.

    Since this last action will be executed, its value never collected so if it throws an exception it is possible to print it by defining the eff.debuglast system property (-Deff.debuglast=true)

    See also

    http://okmij.org/ftp/Haskell/extensible/more.pdf

  36. trait EffCreation extends AnyRef

    Permalink
  37. trait EffImplicits extends AnyRef

    Permalink
  38. trait EffInterpretation extends AnyRef

    Permalink
  39. sealed trait Effect[F[_]] extends AnyRef

    Permalink

    one effect, basically a type constructor

  40. trait EitherCreation extends AnyRef

    Permalink
  41. trait EitherEffect extends EitherCreation with EitherInterpretation

    Permalink

    Effect for computation which can fail

  42. trait EitherImplicits extends AnyRef

    Permalink
  43. trait EitherInterpretation extends AnyRef

    Permalink
  44. trait ErrorCreation[F] extends ErrorTypes[F]

    Permalink
  45. trait ErrorEffect[F] extends ErrorCreation[F] with ErrorInterpretation[F]

    Permalink

    Effect for computation which can fail and return a Throwable, or just stop with a failure

    Effect for computation which can fail and return a Throwable, or just stop with a failure

    This effect is a mix of Eval and Either in the sense that every computation passed to this effect (with the ok method) is considered "impure" or "faulty" by default.

    The type F is used to represent the failure type.

  46. trait ErrorInterpretation[F] extends ErrorCreation[F]

    Permalink
  47. trait ErrorTypes[F] extends AnyRef

    Permalink
  48. trait EvalCreation extends EvalTypes

    Permalink
  49. trait EvalEffect extends EvalTypes with EvalCreation with EvalInterpretation

    Permalink

    Effect for delayed computations

    Effect for delayed computations

    uses cats.Eval as a supporting data structure

  50. trait EvalInterpretation extends EvalTypes

    Permalink
  51. trait EvalTypes extends AnyRef

    Permalink
  52. case class Evaluate[F, A](run: Either[Either[Throwable, F], Eval[A]]) extends Product with Serializable

    Permalink
  53. case class EvaluateValue[A](a: () ⇒ A) extends Safe[A] with Product with Serializable

    Permalink
  54. case class ExecutorServices(executorServiceEval: Eval[ExecutorService], scheduledExecutorEval: Eval[ScheduledExecutorService], executionContextEval: Eval[ExecutionContext]) extends Product with Serializable

    Permalink
  55. case class FailedFinalizer(t: Throwable) extends Safe[Unit] with Product with Serializable

    Permalink
  56. case class FailedValue[A](t: Throwable) extends Safe[A] with Product with Serializable

    Permalink
  57. sealed trait Fx extends AnyRef

    Permalink

    Base type for a tree of effect types

  58. final case class Fx1[F[_]](e: Effect[F]) extends Fx with Product with Serializable

    Permalink
  59. final case class Fx2[L[_], R[_]](left: Effect[L], right: Effect[R]) extends Fx with Product with Serializable

    Permalink
  60. final case class Fx3[L[_], M[_], R[_]](left: Effect[L], middle: Effect[M], right: Effect[R]) extends Fx with Product with Serializable

    Permalink
  61. final case class FxAppend[L, R](left: L, right: R) extends Fx with Product with Serializable

    Permalink

    Append a tree of effects to another one

  62. case class GetCache() extends Memoized[Cache] with Product with Serializable

    Permalink
  63. case class GetSequenceCache() extends MemoizedSeq[SequenceCache] with Product with Serializable

    Permalink
  64. case class Impure[R, X, A](union: Union[R, X], continuation: Arrs[R, X, A], last: Last[R] = Last.none[R]) extends Eff[R, A] with Product with Serializable

    Permalink

    Impure is an effect (encoded as one possibility among other effects, a Union) and a continuation providing the next Eff value.

    Impure is an effect (encoded as one possibility among other effects, a Union) and a continuation providing the next Eff value.

    This essentially models a flatMap operation with the current effect and the monadic function to apply to a value once the effect is interpreted

    One effect can always be executed last, just for side-effects

  65. case class ImpureAp[R, X, A](unions: Unions[R, X], continuation: Arrs[R, List[Any], A], last: Last[R] = Last.none[R]) extends Eff[R, A] with Product with Serializable

    Permalink

    ImpureAp is a list of independent effects and a pure function creating a value with all the resulting values once all effects have been interpreted.

    ImpureAp is a list of independent effects and a pure function creating a value with all the resulting values once all effects have been interpreted.

    This essentially models a sequence + map operation but it is important to understand that the list of Union objects can represent different effects and be like: List[Option[Int], Future[String], Option[Int]].

    Interpreting such an Eff value for a given effect (say Option) consists in:

    • grouping all the Option values,
    • sequencing them
    • pass them to a continuation which will apply the 'map' functions when the other effects (Future in the example above) will have been interpreted

    VERY IMPORTANT:

    • this object is highly unsafe
    • the size of the list argument to 'map' must always be equal to the number of unions in the Unions object
    • the types of the elements in the list argument to 'map' must be the exact types of each effect in unions.unions
  66. trait Interpret extends AnyRef

    Permalink

    Support methods to create interpreters (or "effect handlers") for a given effect M and a value Eff[R, A] when M is a member of R.

    Support methods to create interpreters (or "effect handlers") for a given effect M and a value Eff[R, A] when M is a member of R.

    Those methods guarantee a stack-safe behaviour when running on a large list of effects (in list.traverse(f) for example).

    There are different types of supported interpreters:

    1. "interpret" + Recurse

    This interpreter is used to handle effects which either return a value X from M[X] or stops with Eff[R, B] See an example of such an interpreter in Eval where we just evaluate a computation X for each Eval[X].

    2. "interpretState" + StateRecurse

    This interpreter is used to handle effects which either return a value X from M[X] or stops with Eff[R, B]

    3. "interpretLoop" + Loop

    The most generic kind of interpreter where we can even recurse in the case of Pure(a) (See ListEffect for such a use)

    4. "intercept / interceptState / interceptLoop" methods are similar but they transform an effect to other effects in the same stack without removing it from the stack

    5. "transform" to swap an effect T of a stack to another effect, using a Natural Transformation

    6. "translate" to interpret one effect of a stack into other effects of the same stack using a Natural Transformation this is a specialized version of interpret + Recurse

    7. "interpretUnsafe + SideEffect" when you have a side effecting function M[X] => X

  67. trait IntoPoly[R, U] extends AnyRef

    Permalink

    Typeclass proving that it is possible to send a tree of effects R into another tree of effects U

    Typeclass proving that it is possible to send a tree of effects R into another tree of effects U

    for example

    send[Option1, Fx.fx3[Option1, Option2, Option3], Int](Option1(1)). into[Fx.fx5[Option1, Option2, Option3, Option4, Option5]]

    should work because all the effects of the first stack are present in the second

    Note: some implicit definitions are probably missing in some cases

  68. trait IntoPolyLower1 extends IntoPolyLower2

    Permalink
  69. trait IntoPolyLower2 extends IntoPolyLower3

    Permalink
  70. trait IntoPolyLower3 extends IntoPolyLower4

    Permalink
  71. trait IntoPolyLower4 extends IntoPolyLower5

    Permalink
  72. trait IntoPolyLower5 extends AnyRef

    Permalink
  73. case class Last[R](value: Option[Eval[Eff[R, Unit]]]) extends Product with Serializable

    Permalink

    Encapsulation of one optional last action to execute at the end of the program

  74. trait LeftFold[A, B] extends AnyRef

    Permalink

    support trait for folding values while possibly keeping some internal state

  75. trait ListCreation extends AnyRef

    Permalink
  76. trait ListEffect extends ListCreation with ListInterpretation

    Permalink

    Effect for computations possibly returning several values

  77. trait ListInterpretation extends AnyRef

    Permalink
  78. trait Loop[M[_], R, A, B, C] extends AnyRef

    Permalink

    Generalisation of Recurse and StateRecurse

    Generalisation of Recurse and StateRecurse

    The loop defines some state with an initial value which is maintained at each step of the interpretation.

    A is the type of Eff values to interpret, and B is the result of the interpretation (generally an other Eff value)

    C is the type of result for "last" actions.

    - the interpretation of a Pure value either returns the final result or possibly one more Eff value to interpret

    - onEffect interprets one effect and possibly uses the continuation to produce the next value to interpret. If no X can be used to run the continuation we might just output one final B value

    • onLastEffect interprets the last effect of an Eff value. The only difference with onEffect is the fact that last actions return Unit values (and not A values)
    • onApplicativeEff interprets a list of effects and possibly uses the continuation to get to the next value to interpret. If no interpretation can be done, a B value might be returned
    • onLastApplicativeEffect does the same thing for last actions
  79. trait Member[T[_], R] extends MemberInOut[T, R]

    Permalink
    Annotations
    @implicitNotFound( ... )
  80. trait MemberIn[T[_], R] extends AnyRef

    Permalink
    Annotations
    @implicitNotFound( ... )
  81. trait MemberInLower1 extends MemberInLower2

    Permalink
  82. trait MemberInLower2 extends MemberInLower3

    Permalink
  83. trait MemberInLower3 extends MemberInLower4

    Permalink
  84. trait MemberInLower4 extends MemberInLower5

    Permalink
  85. trait MemberInLower5 extends AnyRef

    Permalink
  86. trait MemberInOut[T[_], R] extends MemberIn[T, R]

    Permalink
    Annotations
    @implicitNotFound( ... )
  87. trait MemberInOutLower1 extends MemberInOutLower2

    Permalink
  88. trait MemberInOutLower2 extends MemberInOutLower3

    Permalink
  89. trait MemberInOutLower3 extends MemberInOutLower4

    Permalink
  90. trait MemberInOutLower4 extends MemberInOutLower5

    Permalink
  91. trait MemberInOutLower5 extends AnyRef

    Permalink
  92. trait MemberLower1 extends MemberLower2

    Permalink
  93. trait MemberLower10 extends MemberLower11

    Permalink
  94. trait MemberLower11 extends MemberLower12

    Permalink
  95. trait MemberLower12 extends MemberLower13

    Permalink
  96. trait MemberLower13 extends MemberLower14

    Permalink
  97. trait MemberLower14 extends MemberLower15

    Permalink
  98. trait MemberLower15 extends MemberLower16

    Permalink
  99. trait MemberLower16 extends MemberLower17

    Permalink
  100. trait MemberLower17 extends MemberLower18

    Permalink
  101. trait MemberLower18 extends MemberLower19

    Permalink
  102. trait MemberLower19 extends AnyRef

    Permalink
  103. trait MemberLower2 extends MemberLower3

    Permalink
  104. trait MemberLower3 extends MemberLower4

    Permalink
  105. trait MemberLower4 extends MemberLower5

    Permalink
  106. trait MemberLower5 extends MemberLower6

    Permalink
  107. trait MemberLower6 extends MemberLower7

    Permalink
  108. trait MemberLower7 extends MemberLower8

    Permalink
  109. trait MemberLower8 extends MemberLower9

    Permalink
  110. trait MemberLower9 extends MemberLower10

    Permalink
  111. trait MemoCreation extends MemoTypes

    Permalink
  112. trait MemoEffect extends MemoTypes with MemoCreation with MemoInterpretation

    Permalink

    Memoization effect

    Memoization effect

    Memoize a computation for a given key

    This effect can be interpreted with a cache implemented with many different libraries. See Cache.scala for 2 default implementations:

    • one concurrent hashmap (meaning an unbounded cache)
    • one concurrent hashmap with weak references (to evict entries based on garbage collection)

    You can implement your own version using ScalaCache for example

  113. trait MemoInterpretation extends MemoTypes

    Permalink
  114. trait MemoSequenceCreation extends MemoSequenceTypes

    Permalink
  115. trait MemoSequenceEffect extends MemoSequenceTypes with MemoSequenceCreation with MemoSequenceInterpretation

    Permalink

    Reader effect for memoizing sequences of values

  116. trait MemoSequenceInterpretation extends MemoSequenceTypes

    Permalink
  117. trait MemoSequenceTypes extends AnyRef

    Permalink
  118. trait MemoTypes extends AnyRef

    Permalink
  119. sealed trait Memoized[A] extends AnyRef

    Permalink
  120. sealed trait MemoizedSeq[A] extends AnyRef

    Permalink
  121. sealed trait MemoizedSequence extends AnyRef

    Permalink
  122. class NoFx extends Fx

    Permalink

    The "empty" tree of effects

  123. case class OpenMemoizedSequence(values: List[Eval[Any]] = Nil) extends MemoizedSequence with Product with Serializable

    Permalink
  124. trait OptionCreation extends AnyRef

    Permalink
  125. trait OptionEffect extends OptionCreation with OptionInterpretation

    Permalink

    Effect for optional computations

  126. trait OptionInterpretation extends AnyRef

    Permalink
  127. case class Pure[R, A](value: A, last: Last[R] = Last.none[R]) extends Eff[R, A] with Product with Serializable

    Permalink
  128. case class Rand[A](run: (Random) ⇒ Option[A]) extends Product with Serializable

    Permalink

    This class can be used as a F in runChoose to generate random alternatives

  129. trait ReaderCreation extends AnyRef

    Permalink
  130. trait ReaderEffect extends ReaderCreation with ReaderInterpretation

    Permalink

    Effect for computations depending on an environment.

    Effect for computations depending on an environment.

    The inside datatype for this effect is cats.data.Reader

  131. trait ReaderInterpretation extends AnyRef

    Permalink
  132. trait Recurse[M[_], R, A] extends AnyRef

    Permalink

    Helper trait for computations which might produce several M[X] in a stack of effects.

    Helper trait for computations which might produce several M[X] in a stack of effects.

    Either we can produce an X to pass to a continuation or we're done

    For the applicative case we expect to be able to traverse a list of effects and return an effect of a list of results OR completely consume the effect and return a pure list of values

  133. sealed trait Safe[A] extends AnyRef

    Permalink

    The Safe type is a mix of a ThrowableEither / Eval effect and a writer effect to collect finalizer failures

  134. trait SafeCreation extends SafeTypes

    Permalink
  135. trait SafeEffect extends SafeCreation with SafeInterpretation

    Permalink
  136. trait SafeInterpretation extends SafeCreation

    Permalink
  137. trait SafeTypes extends AnyRef

    Permalink
  138. trait SequenceCache extends Cache

    Permalink

    This cache is used to memoize a sequence of values for a given key

    This cache is used to memoize a sequence of values for a given key

    When the cache is "closed" all subsequent calls to "append" will return previously stored values until the last value is reached.

    This cache is used to memoize a sequence of effects leading to the computation of an Eff[R, A]

    For example:

    val action = asyncFork(1 + 1).flatMap(_ => asyncFork(2 + 2)).flatMap(_ => asyncFork(3 + 3))

    if this Async action is memoized then the successive computations 1+1, 2+2, 3+3 will not be recomputed

  139. trait SequenceCached[M[_]] extends AnyRef

    Permalink

    type class for effects which can be cached in a SequenceCache

  140. trait SideEffect[T[_]] extends AnyRef

    Permalink
  141. trait StateCreation extends AnyRef

    Permalink
  142. trait StateEffect extends StateCreation with StateInterpretation

    Permalink

    Effect for passing state along computations

    Effect for passing state along computations

    Internally backed up by cats.data.State

  143. trait StateImplicits extends AnyRef

    Permalink
  144. trait StateInterpretation extends AnyRef

    Permalink
  145. trait StatelessLoop[M[_], R, A, B, C] extends AnyRef

    Permalink

    Generalisation of Recurse

  146. case class Store[A](key: AnyRef, a: () ⇒ A) extends Memoized[A] with Product with Serializable

    Permalink
  147. trait Translate[T[_], U] extends AnyRef

    Permalink

    trait for translating one effect into other ones in the same stack

  148. sealed trait Union[+R, A] extends AnyRef

    Permalink

    Union represents one effect T[_] embedded in a tree of possible effects R

    Union represents one effect T[_] embedded in a tree of possible effects R

    Since the effect tree is represented with the following cases:

    • Fx1[T]
    • Fx2[T1, T2]
    • Fx3[T1, T2, T3]
    • FxAppend[L, R]

    We have the corresponding Union cases. For example T2 is in the "middle" of Fx3[T1, T2, T3] so creating a Union object for that effect uses Union3M

  149. case class Union1[T[_], A](ta: T[A]) extends Union[Fx1[T], A] with Product with Serializable

    Permalink
  150. sealed trait Union2[R, A] extends Union[R, A]

    Permalink
  151. case class Union2L[L[_], R[_], A](t: L[A]) extends Union2[Fx2[L, R], A] with Product with Serializable

    Permalink
  152. case class Union2R[L[_], R[_], A](t: R[A]) extends Union2[Fx2[L, R], A] with Product with Serializable

    Permalink
  153. sealed trait Union3[R, A] extends Union[R, A]

    Permalink
  154. case class Union3L[L[_], M[_], R[_], A](t: L[A]) extends Union3[Fx3[L, M, R], A] with Product with Serializable

    Permalink
  155. case class Union3M[L[_], M[_], R[_], A](t: M[A]) extends Union3[Fx3[L, M, R], A] with Product with Serializable

    Permalink
  156. case class Union3R[L[_], M[_], R[_], A](t: R[A]) extends Union3[Fx3[L, M, R], A] with Product with Serializable

    Permalink
  157. sealed trait UnionAppend[R, A] extends Union[R, A]

    Permalink
  158. case class UnionAppendL[L, R, A](t: Union[L, A]) extends UnionAppend[FxAppend[L, R], A] with Product with Serializable

    Permalink
  159. case class UnionAppendR[L, R, A](t: Union[R, A]) extends UnionAppend[FxAppend[L, R], A] with Product with Serializable

    Permalink
  160. trait UnionInto[R, S] extends AnyRef

    Permalink
  161. case class Unions[R, A](first: Union[R, A], rest: List[Union[R, Any]]) extends Product with Serializable

    Permalink

    A non-empty list of Unions.

    A non-empty list of Unions.

    It is only partially typed, we just keep track of the type of the first object

  162. sealed trait Validate[+E, A] extends AnyRef

    Permalink
  163. trait ValidateCreation extends AnyRef

    Permalink
  164. trait ValidateEffect extends ValidateCreation with ValidateInterpretation

    Permalink

    Effect for computation which can fail but will accumulate errors

    Effect for computation which can fail but will accumulate errors

    The runValidate interpreter just collects the messages and returns them at the end

  165. trait ValidateInterpretation extends ValidateCreation

    Permalink
  166. trait Write[T[_], O] extends AnyRef

    Permalink
  167. trait WriterCreation extends AnyRef

    Permalink
  168. trait WriterEffect extends WriterCreation with WriterInterpretation

    Permalink

    Effect for logging values alongside computations

    Effect for logging values alongside computations

    Compared to traditional Writer monad which accumulates values by default this effect can be interpreted in different ways:

    • log values to the console or to a file as soon as they are produced
    • accumulate values in a list
  169. trait WriterInterpretation extends AnyRef

    Permalink
  170. case class Wrong[E](e: E) extends Validate[E, Unit] with Product with Serializable

    Permalink
  171. type |=[M[_], R] = MemberIn[M, R]

    Permalink

Value Members

  1. object Arrs extends Serializable

    Permalink
  2. object Async

    Permalink
  3. object AsyncCreation extends AsyncCreation

    Permalink
  4. object AsyncEffect extends AsyncEffect

    Permalink
  5. object AsyncFutureInterpreter extends Serializable

    Permalink
  6. object AsyncInterpretation extends AsyncInterpretation

    Permalink
  7. object Batch extends Batch

    Permalink
  8. object ChooseCreation extends ChooseCreation

    Permalink
  9. object ChooseEffect extends ChooseEffect

    Permalink
  10. object ChooseImplicits extends ChooseImplicits

    Permalink
  11. object ChooseInterpretation extends ChooseInterpretation

    Permalink
  12. object ChoosePlus extends Choose[Boolean] with Product with Serializable

    Permalink
  13. object Eff extends EffCreation with EffInterpretation with EffImplicits

    Permalink
  14. object EffCreation extends EffCreation

    Permalink
  15. object EffImplicits extends EffImplicits

    Permalink
  16. object EffInterpretation extends EffInterpretation

    Permalink
  17. object EitherCreation extends EitherCreation

    Permalink
  18. object EitherEffect extends EitherEffect

    Permalink
  19. object EitherImplicits extends EitherImplicits

    Permalink
  20. object EitherInterpretation extends EitherInterpretation

    Permalink
  21. object ErrorEffect extends ErrorEffect[String]

    Permalink

    Simple instantiation of the ErrorEffect trait with String as a Failure type

  22. object EvalEffect extends EvalEffect

    Permalink
  23. object EvalInterpretation extends EvalInterpretation

    Permalink
  24. object EvalTypes extends EvalTypes

    Permalink
  25. object Evaluate extends Serializable

    Permalink
  26. object ExecutorServices extends Serializable

    Permalink
  27. object Fx

    Permalink
  28. object Interpret extends Interpret

    Permalink
  29. object IntoPoly extends IntoPolyLower1

    Permalink
  30. object Last extends Serializable

    Permalink
  31. object ListCreation extends ListCreation

    Permalink
  32. object ListEffect extends ListEffect

    Permalink
  33. object ListInterpretation extends ListInterpretation

    Permalink
  34. object Member extends MemberLower1

    Permalink
  35. object MemberIn extends MemberInLower1

    Permalink
  36. object MemberInOut extends MemberInOutLower1

    Permalink
  37. object MemoEffect extends MemoEffect

    Permalink
  38. object MemoInterpretation extends MemoInterpretation

    Permalink
  39. object MemoSequenceEffect extends MemoSequenceEffect

    Permalink
  40. object MemoSequenceInterpretation extends MemoSequenceInterpretation

    Permalink
  41. object MemoSequenceTypes extends MemoSequenceTypes

    Permalink
  42. object MemoTypes extends MemoTypes

    Permalink
  43. object NoFx extends NoFx

    Permalink
  44. object OptionCreation extends OptionCreation

    Permalink
  45. object OptionEffect extends OptionEffect

    Permalink
  46. object OptionInterpretation extends OptionInterpretation

    Permalink
  47. object Rand extends Serializable

    Permalink
  48. object ReaderCreation extends ReaderCreation

    Permalink
  49. object ReaderEffect extends ReaderEffect

    Permalink
  50. object ReaderInterpretation extends ReaderInterpretation

    Permalink
  51. object SafeEffect extends SafeEffect

    Permalink
  52. object SafeInterpretation extends SafeInterpretation

    Permalink
  53. object StateCreation extends StateCreation

    Permalink
  54. object StateEffect extends StateEffect

    Permalink
  55. object StateImplicits extends StateImplicits

    Permalink
  56. object StateInterpretation extends StateInterpretation

    Permalink
  57. object SubscribeEffect

    Permalink

    This effect is used in the implementation of the Async effect

  58. object Unions extends Serializable

    Permalink
  59. object ValidateCreation extends ValidateCreation

    Permalink
  60. object ValidateEffect extends ValidateEffect

    Permalink
  61. object ValidateInterpretation extends ValidateInterpretation

    Permalink
  62. object WriterCreation extends WriterCreation

    Permalink
  63. object WriterEffect extends WriterEffect

    Permalink
  64. object WriterInterpretation extends WriterInterpretation

    Permalink
  65. object all extends AsyncEffect with ReaderEffect with WriterEffect with StateEffect with EvalEffect with OptionEffect with ListEffect with EitherEffect with ValidateEffect with ChooseEffect with SafeEffect with MemoEffect with MemoSequenceEffect with Batch with EffInterpretation with EffCreation with EffImplicits

    Permalink
  66. object async extends AsyncCreation with AsyncInterpretation

    Permalink
  67. object batch extends Batch

    Permalink
  68. object choose extends ChooseCreation with ChooseInterpretation

    Permalink
  69. object create extends ReaderCreation with WriterCreation with StateCreation with EvalCreation with OptionCreation with ListCreation with EitherCreation with ValidateCreation with ChooseCreation with AsyncCreation with MemoCreation with MemoSequenceCreation with EffCreation with SafeCreation

    Permalink
  70. object eff extends EffCreation with EffInterpretation

    Permalink
  71. object either extends EitherCreation with EitherInterpretation with EitherImplicits

    Permalink
  72. object eval extends EvalCreation with EvalInterpretation

    Permalink
  73. object interpret extends Interpret with Batch

    Permalink
  74. object list extends ListCreation with ListInterpretation

    Permalink
  75. object memo extends MemoCreation with MemoInterpretation

    Permalink
  76. object memoseq extends MemoSequenceCreation with MemoSequenceInterpretation

    Permalink
  77. object option extends OptionCreation with OptionInterpretation

    Permalink
  78. object reader extends ReaderCreation with ReaderInterpretation

    Permalink
  79. object safe extends SafeCreation with SafeInterpretation

    Permalink
  80. object state extends StateCreation with StateInterpretation with StateImplicits

    Permalink
  81. package syntax

    Permalink
  82. object validate extends ValidateCreation with ValidateInterpretation

    Permalink
  83. object writer extends WriterCreation with WriterInterpretation

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped