Documentation
¶
Index ¶
- func Ap[B, E, A any](fa ReaderIO[E, A]) func(ReaderIO[E, func(A) B]) ReaderIO[E, B]
- func ApFirst[A, R, B any](second ReaderIO[R, B]) func(ReaderIO[R, A]) ReaderIO[R, A]
- func ApS[R, S1, S2, T any](setter func(T) func(S1) S2, fa ReaderIO[R, T]) func(ReaderIO[R, S1]) ReaderIO[R, S2]
- func ApSecond[A, R, B any](second ReaderIO[R, B]) func(ReaderIO[R, A]) ReaderIO[R, B]
- func Bind[R, S1, S2, T any](setter func(T) func(S1) S2, f func(S1) ReaderIO[R, T]) func(ReaderIO[R, S1]) ReaderIO[R, S2]
- func BindTo[R, S1, T any](setter func(T) S1) func(ReaderIO[R, T]) ReaderIO[R, S1]
- func Chain[E, A, B any](f func(A) ReaderIO[E, B]) func(ReaderIO[E, A]) ReaderIO[E, B]
- func ChainIOK[E, A, B any](f func(A) IO.IO[B]) func(ReaderIO[E, A]) ReaderIO[E, B]
- func Eq[R, A any](e EQ.Eq[A]) func(r R) EQ.Eq[ReaderIO[R, A]]
- func Flap[E, A, B any](a A) func(ReaderIO[E, func(A) B]) ReaderIO[E, B]
- func From0[R, A any](f func(R) IO.IO[A]) func() ReaderIO[R, A]
- func From1[R, T1, A any](f func(R, T1) IO.IO[A]) func(T1) ReaderIO[R, A]
- func From2[R, T1, T2, A any](f func(R, T1, T2) IO.IO[A]) func(T1, T2) ReaderIO[R, A]
- func From3[R, T1, T2, T3, A any](f func(R, T1, T2, T3) IO.IO[A]) func(T1, T2, T3) ReaderIO[R, A]
- func Let[R, S1, S2, T any](setter func(T) func(S1) S2, f func(S1) T) func(ReaderIO[R, S1]) ReaderIO[R, S2]
- func LetTo[R, S1, S2, T any](setter func(T) func(S1) S2, b T) func(ReaderIO[R, S1]) ReaderIO[R, S2]
- func Map[E, A, B any](f func(A) B) func(ReaderIO[E, A]) ReaderIO[E, B]
- func TraverseArray[R, A, B any](f func(A) ReaderIO[R, B]) func([]A) ReaderIO[R, []B]
- func TraverseArrayWithIndex[R, A, B any](f func(int, A) ReaderIO[R, B]) func([]A) ReaderIO[R, []B]
- func WithLock[R, A any](lock func() context.CancelFunc) func(fa ReaderIO[R, A]) ReaderIO[R, A]
- type ReaderIO
- func Ask[E any]() ReaderIO[E, E]
- func Asks[E, A any](r R.Reader[E, A]) ReaderIO[E, A]
- func Defer[E, A any](gen func() ReaderIO[E, A]) ReaderIO[E, A]
- func Do[R, S any](empty S) ReaderIO[R, S]
- func Flatten[E, A any](mma ReaderIO[E, ReaderIO[E, A]]) ReaderIO[E, A]
- func FromIO[E, A any](t IO.IO[A]) ReaderIO[E, A]
- func Memoize[E, A any](rdr ReaderIO[E, A]) ReaderIO[E, A]
- func MonadAp[B, E, A any](fab ReaderIO[E, func(A) B], fa ReaderIO[E, A]) ReaderIO[E, B]
- func MonadApFirst[A, R, B any](first ReaderIO[R, A], second ReaderIO[R, B]) ReaderIO[R, A]
- func MonadApSecond[A, R, B any](first ReaderIO[R, A], second ReaderIO[R, B]) ReaderIO[R, B]
- func MonadChain[E, A, B any](ma ReaderIO[E, A], f func(A) ReaderIO[E, B]) ReaderIO[E, B]
- func MonadChainIOK[E, A, B any](ma ReaderIO[E, A], f func(A) IO.IO[B]) ReaderIO[E, B]
- func MonadFlap[E, A, B any](fab ReaderIO[E, func(A) B], a A) ReaderIO[E, B]
- func MonadMap[E, A, B any](fa ReaderIO[E, A], f func(A) B) ReaderIO[E, B]
- func Of[E, A any](a A) ReaderIO[E, A]
- func SequenceArray[R, A any](ma []ReaderIO[R, A]) ReaderIO[R, []A]
- func SequenceT1[R, A any](a ReaderIO[R, A]) ReaderIO[R, T.Tuple1[A]]
- func SequenceT2[R, A, B any](a ReaderIO[R, A], b ReaderIO[R, B]) ReaderIO[R, T.Tuple2[A, B]]
- func SequenceT3[R, A, B, C any](a ReaderIO[R, A], b ReaderIO[R, B], c ReaderIO[R, C]) ReaderIO[R, T.Tuple3[A, B, C]]
- func SequenceT4[R, A, B, C, D any](a ReaderIO[R, A], b ReaderIO[R, B], c ReaderIO[R, C], d ReaderIO[R, D]) ReaderIO[R, T.Tuple4[A, B, C, D]]
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApS ¶ added in v1.0.107
func ApS[R, S1, S2, T any]( setter func(T) func(S1) S2, fa ReaderIO[R, T], ) func(ReaderIO[R, S1]) ReaderIO[R, S2]
ApS attaches a value to a context [S1] to produce a context [S2] by considering the context and the value concurrently
func Bind ¶ added in v1.0.107
func Bind[R, S1, S2, T any]( setter func(T) func(S1) S2, f func(S1) ReaderIO[R, T], ) func(ReaderIO[R, S1]) ReaderIO[R, S2]
Bind attaches the result of a computation to a context [S1] to produce a context [S2]
func Let ¶ added in v1.0.107
func Let[R, S1, S2, T any]( setter func(T) func(S1) S2, f func(S1) T, ) func(ReaderIO[R, S1]) ReaderIO[R, S2]
Let attaches the result of a computation to a context [S1] to produce a context [S2]
func LetTo ¶ added in v1.0.107
func LetTo[R, S1, S2, T any]( setter func(T) func(S1) S2, b T, ) func(ReaderIO[R, S1]) ReaderIO[R, S2]
LetTo attaches the a value to a context [S1] to produce a context [S2]
func TraverseArray ¶
TraverseArray transforms an array
func TraverseArrayWithIndex ¶ added in v1.0.29
TraverseArrayWithIndex transforms an array
Types ¶
type ReaderIO ¶
func Do ¶ added in v1.0.107
Bind creates an empty context of type [S] to be used with the Bind operation
func Memoize ¶ added in v1.0.36
Memoize computes the value of the provided ReaderIO monad lazily but exactly once The context used to compute the value is the context of the first call, so do not use this method if the value has a functional dependency on the content of the context
func MonadApFirst ¶
MonadApFirst combines two effectful actions, keeping only the result of the first.
func MonadApSecond ¶
MonadApSecond combines two effectful actions, keeping only the result of the second.
func MonadChain ¶
func MonadChainIOK ¶
func SequenceArray ¶
SequenceArray converts a homogeneous sequence of Readers into a Reader of sequence